Sustainable CiviCRM Part 1: A service provider association

Published
2013-05-22 09:05
Written by

At CiviCon San Francisco, and at the sprints that followed, we spent a fair amount of time on the subject of ‘CiviCRM as a self-sufficient and financially sustainable ecosystem’. These discussions were wide ranging and super interesting (thanks to Peter Petrik from Skvare for his input and help facilitating). Following from these discussions, we have set ourselves two high level goals for the next 3 years:

  • Make CiviCRM a financially sustainable ecosystem, funded primarily through its community of users and service providers
  • Ensure that the community is aware of how much it costs to ‘run’ CiviCRM, and how any money that they contribute gets spent

These two goals are pretty closely related since if we are trying to do 1, then it is reasonable to expect 2.

In this blog post, I’d like to set the scene a little, and introduce one concrete way that we can get started out along this road: a service provider association.  There is lots more to say about the above two goals (please join in the conversation and watch out for more blog posts in the coming weeks and months) but for now, I’d like to concentrate on the service provider association.

Think of this blog post as a first draft for discussion and refinement before we start building stuff out. None of the ideas here are set in stone but we do want to take the first steps soon, so now is the time for input.  We want to hear your thoughts and ideas on the best ways forward. Let me know if we have missed anything important, and feel free to contribute extra details, and suggest ways in which we can improve things. We’d also like to have your help in building this out.  If you have resources you can put towards this, let me know.

We'll refine our plans over the next few weeks and then then start building.

How did we get here?

All of us in the CiviCRM community strongly believe in free, libre and open source software. However software is not 'free to produce'. CiviCRM software has been made possible primarily through generous contributions of foundations and forward-thinking non-profit organizations. Over the past few years there has been a substantial growth in the contributions of code, time, and money from people like you, i.e. our amazing community of users, implementers, and developers.

It's hard to believe but CiviCRM has been around for over 8 years now.  Looking around, you'll see a solid user base and a healthy service provider community.  So now seems like a good time to think about how we can sustain the momentum for the next 8, 16, and 32 years!

Why a service provider association?

A service provider association is a good focal point for an ‘iteration’ of sustainability. It is well defined and small enough for us to have some initial discussions, build out some infrastructure, and walk some way down the road to sustainability.

What is the time frame?

Our target is to build the service provider association over the next 5 months.  We’d like to have it ready in time for CiviCon London and the sprints that follow.  At that point we can review work so far and work out next steps.

What is the broad aim of the service provider association?

In broad terms, the aim is to provide a clear and transparent way for service providers to contribute financially to the sustainability of the project in a way that provides direct benefits for their organisations.

Who is it aimed at?

The service provider association is specifically aimed at service providers - not at end users (unless they are also providing CiviCRM services to other end users).  There are a few of other ways we’d like to encourage end users to engage and contribute (see below) but to keep things focused and manageable, we want to focus on service providers in this iteration.

Why should we join?

Our initial list of benefits (let us know if you have other ideas) includes:

  • a prominent listing as a service provider on civicrm.org
  • a ‘CiviCRM service provider’ badge for your website
  • your logo (rotating though all service providers) on the civicrm.org home page
  • a service provider thank you slide at all conferences
  • 25% discount on CiviCon sponsorship
  • a mention in the monthly CiviCRM newsletter when you join

Of course, the more fundamental benefit is that you’ll be contributing to a stable, sustainable CiviCRM that continues to improve and innovate, that you can use to satisfy client needs and build your client base, but you knew that :)

How much will it cost to become a member?

This model is draft: Membership fees will be based on a sliding scale of $1,000 per full time equivalent staff member per year.  So for example, a five person organization working with CiviCRM should expect to pay $5,000.

We can potentially look at modifying this scale for larger organisations at which only a small percentage of staff work on CiviCRM, so that, for example a 70 person shop with 12 people working full time on CiviCRM would only contribute $12,000.

At the moment, since the majority of our organisations are based in Europe and North America, a flat rate per full time equivalent seems appropriate. We may want to revisit these rates if and when we have significant numbers of service providers based in parts of the world with significantly lower billing rates.

What are the revenue goals?

Our goal is that the majority of active contributors and a significant percentage of the ‘additional service providers’ sign up. If we can generate between $50k and $100k in funding our first year, we'll be happy :)

How will the money be spent?

Initially, we’d like to assign the money from the service provider association to support the work of the core team. Some of the core teams key areas of work include:

  • Co-ordinating contributions (technical and non technical) from the community
  • Development and testing 'core CiviCRM' features
  • Managing the release cycle and ‘make it happen’ (currently two releases per year)
  • Critical CiviCRM bug fixes
  • Running CiviCRM's infrastructure (including our websites, documentation, server hardware, and so on)
  • Technical support via the forums, IRC and so on
  • Community support for meet ups, training, sprints, camps and conferences

While it is true that the core team gets a considerable amount of help from the community in doing many the above tasks, it is fair to say that the core team is critical to getting the above 'out the door'. Hence we think it fair that they should receive the funding in the first instance. We expect to take some significant steps in better defining what is and isn’t ‘core’ over the next six to twelve months. And over time, we are open to collaborating with other organisations to get the above done.

For the record, this year, CiviCRM’s current annual budget is $550,000. The majority of our budget is spent on salaries (currently 9.5 fte), and the remainder is spent on server infrastructure, hardware and other miscellaneous items. If you are interested in more details about how the core team spends their time, you can look at the tools we use to co-ordinate our work, e.g. wiki.civicrm.org, issues.civicrm.org and forum.civicrm.org.

Do we need a core team?

There is a tendency to think that open source projects work ‘automagically’ - that the best ideas bubble up to the top, are developed, packaged and released into the wild through only the power of enlightened debate and voluntary collaboration. Unfortunately, it is not quite that simple. Have a look around at other long lived successful open source projects. You’ll see that they all have some funding model which drives them forward: Linux has the Linux foundation (a trade association); Wordpress.org has Wordpress.com (a paid for hosted service) and Ubuntu is supported by Canonical (a privately held company).

All open source projects have some source of funding that keep things turning and CiviCRM is no different. While we are very open to working out different ways to fund and deliver our work, we think there will always be the need for a core team constituted in some way to guide the project.

What about recognising other contributions?

CiviCRM would not be here today without all of the amazing contributions from our ecosystem of service providers and end users.  It is these contributions that allow us to really meet our users needs and to scale the project.

In building out our service provider association, we won’t forget or sideline these contributions, but they won't be our focus for this iteration. Following discussions at the sprints after CiviCon, our current thinking is that:

  • we should be more transparent about why people are listed as ‘active contributors’
  • our active contributors list should be as prominent as the service provider association
  • we should phase out listings on civicrm.org for organisations that are neither members of the service providers association or active contributors.

We contribute in other ways - should we still join the service provider association?

Yes :) Granted, service providers with sustainable business models that contribute back to CiviCRM are vital to our community, and the more service providers that contribute back, the more we can scale.  But at the same time, if we accept that we will always need a core team, we will always need some income to fund this team, and joining the service provider association is a simple way you can contribute to this.

With that said, we recognise that CiviCRM is not a one size fits all community, that not everyone will want to join the service provider association, and that organisations can play a vital role in our community without being members.

How will the service provider association be governed?

We are keen to establish a workable mechanism for governing and representing the service provider association, and we want to avoid bureaucracy wherever possible. Our current thinking is that a board made up of 3-5 representatives of the association would be able to provide representation and any necessary co-ordination with the core team.

What other revenue streams are we exploring?

Other revenue streams that we have benefited from in the past and are still actively exploring include:

  • Make it Happen i.e. crowd sourced contributions from both service providers and end users.  Note that approximately half of the 4.4 make it happens are being carried out by the core team, and the other half are being carried out by trusted developers (Make it Happen campaigns currently represent 5% of the project's total income)
  • Major Sponsors i.e. multi-year projects from end users and service providers that are strategically aligned with the project's goals
  • Foundation support
  • 'Support CiviCRM’ contributions from end users and other contacts (see this blog post).

Don’t forget that there is nothing stopping you from helping us out with these revenue streams. We are especially interested to hear from any organisations that may want to become major sponsors or work with us to secure foundation support.

What are the next steps?

We’d like to work to the following time frame:

  • Now till 7 June - preliminary discussions and recruit an implementation team
  • 10 - 14 June - create first draft / alpha
  • 15 - 28 June - blog post and feedback on first draft / alpha
  • 29 June - 5 July - create second draft / beta
  • 6 July - 21 July - blog post and feedback on first second draft / beta
  • 22 July - 21 September: release candidate up and running
  • 22 September: Service provider launched (members signed up)

Looking forward to your thoughts and participation!

Comments

Thanks for outlining this, Michael.  One thought I had was whether this would be an actual association (though as simple an association as could be established) or simply a "preferred partner" sort of program where companies pay to get listed and nothing more.  There are advantages and disadvantages to each--both from the perspective of a CiviCRM provider and from CiviCRM itself.

An actual association would need an actual board with actual control over the dues.  This would mean at least a certain amount of paperwork to file on setup and on an annual basis--and the potential for a new bureaucracy.  For better or worse, it would also mean a literal entity with full control over a portion of CiviCRM core team revenue: that includes the ability to direct it towards certain features, other non-core-team developers, or even execute a Joomla-like fork of the project.  On the other hand, many of these powers exist de facto already: we could all just quit, put our money elsewhere, or do what we want ourselves with our own payrolls.

A "preferred partner" sort of situation has different concerns.  Firms could lose faith in what the core team was doing, slowly dropping out as they feel they can't redirect the ship.  Prospective clients might see the "preferred partner" program as simply a way to feature companies with cash to throw around, ignoring them and going with some random web developer who tells them, "Oh, I've heard of a Drupal module that'll do all your CRM work for you."  Meanwhile, the structure would concentrate control to be at the core team--though this is effectively the case already, association dues could become an empty commitment in lieu of committing time and creativity to the project.

I don't have extremely strong feelings toward one method or the other, but I do think that it's a factor to consider in these early conversations.

My initial thoughts:

  • In general I think this is an excellent idea and very appropriate
  • I would like to be part of the implementation
  • I think it should not be an association, but a partner program 
  • I think pricing by full time FTE's is appropriate, but hard to police.  I think the # of FTE and $$ paid should be public to discourage organizations under estimating.  Contractors should be included in th FTE numbers.
  • There should be some benefit to organizations that contribute a lot besides $$; not sure how to compensate though
  • There should be some base criteria to join and stay in the program besides $$
  • How will people searching for "experts" be able to decide which is better, an active contributor or an association member; should we have the distinction, if so, maybe it could be more of an attribute then a completly different list of organizations. 

 

This is a very welcome and appropriate initiative.

I'm okay with Partner Program as well as Association. I think being a CiviCRM Partner is more understandable to potential clients than Association Member. But if there is going to be $50k - $100k involved in the first year, and a small group of representatives, then it is worth incorporating as a non-profit. I've created several over the years, including the Toronto Drupal Users Group, and it is neither difficult nor expensive.

I also think that a properly constituted non-profit would be a good locus for one type of voices in project governance as that evolves going forward, and getting the governance right is appropriate.

I think listing an organization's contributions to the project could include a sum of the staff's contributions in terms of various objective metrics: extensions published, number of core and extension commits, number of lines of contributed code, number of jira issues reported, number of forum posts, forum karma, number of wiki edits, booki metrics if they exist for book contributions, etc. Also, attendance at various CiviCon's could be listed, links to presentations, formal responsibilities in the community eg i18n lead, SF Meetup Lead, etc. There are likely other metrics that are objective and could be gathered reasonably easily. People and orgs should also have space to describe themselves subjectively. drupal.org provides something along these lines for individual users.

I like the idea of pricing by FTE, and using transparency to better achieve compliance. Listing staff and their contributions as per previous paragraph seems reasonable. 

As an integrator, I think it is fair to contribute back to the project, which sustains part of my livelihood. Since the code is available to me anyway, being open source, the only reason for me to support CiviCRM is a mix of gratitude, respect, giving back to the community and ensuring my business continuity is assured.

I think every OS project requires a core team. I also think every OS project requires a permanent pool of resources, funded by the community. I think there needs to be a certain amount of 'benevolent dictatorship', justified by the expertise, performance, effort, contribution and leadership skills on the part of the benevolent dictators. So yes, putting money in the pot makes sense. Having a core team spend that money on what they see fit is OK as well.

That said, and slightly swimming against the stream, FTE-based does not strike me as the best metric. Who is going to determine what FTE I put in ? Wouldn't I be tempted to reverse engineer the amount I want to contribute into an FTE number ? I could argue that 100$ per client we sign up would be as good, or 1-3% of my business revenue based on CiviCRM ...

How do you value people's contribution in kind -- manhours spent, forum activity, ... as soon as money comes into play, and it gets you some advantage (even in marketing terms), valueing non-financial contributions becomes an issue. From my point of view, separating the two feels better : integrators contribute because they care, can and want to. I don't expect a badge or banner in return -- it's the right thing to do.

You can argue that not everyone feels that way. Sad, but true. But I don't think another scheme wil motivate them more. If you disagree, here's the place to say so.

I mostly agree with Paul. I would not use FTE-based, much more install or customer based. I dislike all the talk about how we are going to determine or control. I would suggest we do not. We assume every one is honest about it, as 99% of us will. And if someone blatantly misuses that trust, it will be noticed in an open source community. Trust in each others honest contribution has brought us were we are. Money does not have to corrupt this.

I do like the idea of a partner program or services provider association. I also believe it is fair that there needs to be a steady financial stream, benevolent dictators and a core. I do wonder what is going to happen to all the unstructured help that we get today. If I look at ourselves: in the last two years we have sponsored CiviCon, organised 2 sprints and sponsored some of that, paid for our own trips to sprints, donated time in doing developer training. As soon as money comes into play and we need to pay a regular fee, this will all go into the balance as well. We suddenly change from 'this is required and the community is what we make it' into the far more businesslike idea of 'does this investment pay off' simply because it is a regular amount. I can imagine we actually spend a lot more per year now, but the equasion is different.

By setting up an association you immediately take on board a management problem and administration cost. We all do know that management and administration cost are one of the biggest cost problems in organizations. Are we totally sure that setting up this structure will actually provide more money all the way down the line? I would strongly recommend we also see what we can achieve by putting more energy into getting donations without starting an institution!

Having an institution might mean that we as service providers also expect more from core, and actually are less prepared to do stuff....'this should work, we pay for it!' There is a mass of scientific research on how forming an institution affects group output, and most of it does not suggest we form one.

I do not know the immediate answer. Yes, we need more funding and more 'quality' and 'professionalism'. No, we do not need the cost of an institution nor the bureaucracy of one. I have no idea where the balance is, but I do want to give a voice to the other side too. I know organization does not magically appear and I do know that crowd sourcing only goes so far.....but I also know that organizing it can throw a lot of sand into the machinery and can bring a general atmosphere that none of us actually want....and the cost of that might be far bigger!

Hope we got lots of thoughts on this blog, and combined wisdom :-)

Erik

Erik and Paul, the only true measure of how much to give in dues is actual currency ($, €, or whatever) earned using CiviCRM.   That's hard to measure anyway (what's an integrated Drupal View, is that 50% CiviCRM?) and we can get bogged down discussing it.  Consultants don't really want to reveal their income or fax in tax forms as proof, so we need to find an approximation. 

Neither the "flat $ per FTE" model nor the "flat $ fee per client" model accurately measure real money, but FTE is the closer.   Sure, some FTE are paid more than others, and sure people can be inaccurate or misrepresent their FTE, but we have to assume good faith.  One huge CiviCRM client can support one CiviCRM-related FTE, just at 60 tiny clients can support one CiviCRM-related FTE.   Is those cases is it fair to charge dues per client/install?  No.    Are all clients equal?  No.  FTE is the best approximation we have.

This is an idea I floated in a discussion on this kind of subject in another OS community a while back. Assume the working budget of the core team is 500k. Convert that into days using a certain rate, say 500 per day (taking all costs into account - these numbers are for example use only of course). So we're looking at 1000 'units' of fundable work. Or take an hourly cost of 100, translating into 5000 'units'. Basically, define an amount with real meaning.

Put these up for sale. Company A will say they are not interested, but that they participate N hours in contribution hours. Company B says they will pay for 5 units for every customer. Company C sponsors a monthly unit. Etcetera .. you understand the logic.

This is fundraising as any nonprofit needs to do. Rule 1: make the contribution based on value in terms of what the donor wants (core team members being omnipresent on IRC and being awesome). Rule 2: increase motivation by providing meaningful choices in terms of the contribution (I like hours, you like percentage, ...). Why would everyone have to use the same base metric to interpret their return on contribution ?

As for what is done with the money, as mentioned in other posts, it's about trust. Don't trust core team to spend your money wisely ? Don't contribute money. That's rule 1 in another format : noone forces donors to support a cause, they choose.

Get me a certificate for each unit, on record somewhere at civicrm.org (sell pixels if you want). Allow me to donate anonymously. Take my money whether I'm a pro CiviCRM tech guy or an absolute novice with a sweet spot for Dave. proven skills in CiviCRM are a different dimension from sympathy for the project.

A unit is any concept that has a monetary value that you can justify -- for instance, how much it costs to pay for a FTE core team member -- and which allows a donor to express his/her contribution in terms of results or impact. For instance, a unit coumd be a single hour of core team work, priced at 100 EUR. SO instead of donating 100 EUR, I am actually sponsoring an hour of core work.

Is is needed and I'd want to help setting that up

Few points to consider:

1) Who controls how the money is used? IMO and especially if its' an association, it'd make sense to benefit from this to vote on the priorities with the money (obviously within the goals and between the tasks you have described) and help the core shaping the priorities.

2) partner sounds better and more official than member indeed

3) I think we should take that opportunity to "certify" the level of knowledge too. eg the partners have to send their staff to training, or attend to meetup/conference, or... 

as in, giving money isn't enought to be "certified partner"

rationale, we should use this as a aim to make the ecosystem more sustainable, this means both a steady financial flow for the core and knowledgable and trustable partners

4) Quantify the non financial contrib is tricky. The risk is that paying will justify less contribution. That's a known effect: if you fine the parents when they are late picking up their kids, more of them will come late, as the financial transaction allows them to buy out their guilt/responsability. 

5) "security" as a benefit

I think the partners should get a early warning when a security bug is identified and a more detailed info, unless the exploit is already live.

On some security issues I've found and reported/fixed, I would have liked to inform "partners" without making it completely public before the fix was released, and I would have liked to be informed before it was public for some of the other issues I wasn't involved discovering/fixing.

The members of this association are, by definition, trustable and would be the right channel to fix faster these security issues.

6) hosting providers

some of the partners might not have lots of full time civi people, but have deep interest and a source of income linked to civi through the hosting. If a partner provides civi hosting, it should be a different price, on the top/instead of the "per worker" price

 

X+

Generally good points X.  I'm cool with some notion of "certify" as long as we keep it super simple at least at first.  Some reasonable threshold to keep know-nothings out until they know-something.  I also agree that hosting providers need a separate something, as situations are different for them.

Agree, being known and active in the community and have some ref would be enough IMO. eg. being on stage at civicon with dgg is by itself a good enough stamp of approval in my book ;)

 

X+

A more formalized relationship between provider and LLC (what I call 'core team') could be a good thing. Almost all open source projects need money, that's understandable, and this one is run by LLC/core team, so that's settled.  

Let's restate plainly the nature of things as they are.   LLC gives out free software and providers already offer LLC a significant service in return that LLC doesn't have time to provide itself.  Consultants guide dozens, perhaps hundreds, of clients yearly on how to use software they could usually never understand on their own while enlarging the community and building "good rep" for CiviCRM as functional software.  For that service we are compensated by our clients, not LLC, but LLC does benefit too.  Most providers contribute in one or more additional ways as well (patches, testing, volunteering, donations, etc), and I'm not adverse to giving a little more for a logo I can stick on my website, I guess. I haven't updated it in years, maybe this will give me an excuse. ;-)

But let's get down to business.  First, I think the proposed association benefits listed (discounts, logos, etc) are uninspiring, even for a provider actively seeking new business, except for the last one: "sustainability".   Second, let's call an association what it is, which is consultants pooling a theoretical $50,000 annual, and the association then becoming in some sense "LLC's new client", representing about 10% of LLC's business.  LLC also maintains other clients (who purchase development of new features) and gets foundation support, which rounds out the rest of the budget.

Ok, fair enough, but what does this new "association client" get for its money?   "How will the money be spent?" section above lists things the core team is doing already so essentially reads "sustaining business as usual".  In comparison, Zing, for instance, gets something new: CiviHR.    Well...what if the association wants a feature?

What if that feature the association wants is "change" to "business as usual"?  If so, does LLC want the association as a client? That's a bit more fuzzy, isn't it? No seriously, choose something in "How will the money be spent?" and consider if the association wants LLC to change that thing.  I know many prospective association members do want change. How will everyone react?

In theory, at least, representatives of the association will have some limited influence over LLC, but only more or less proportional to our theoretical dues as a % of the budget, similarly to a major feature funder.   Are we comfortable with that?  Or do people want more or less than that? 

It sounds like it's been already decided the association will happen.  The timeline is already in place.    But let's please both LLC and prospective association members think hard ion what we really want and will accept, on both sides, before we start filling out applications. Thoughts?

I suppose we're a bit of a unique bird, but as a nonprofit that helps other nonprofits implement CiviCRM, I'm curious if there could be a nonprofit exception of some kind.

At Lobo's prompt, I am determining how to incorporate a line item into future CiviCRM projects that will go to CiviCRM directly. We want to contribute back, support the project and help its sustainability, but our mission is to provide our services at a rate that underresourced groups can afford so our margins are extremely tight and $1k per FTE is just not in our budget.

I supported FTEs as a way of calculating dues since it is a reasonable proxy for amount of CiviCRM work, without making organizations indicate their annual revenue from CiviCRM business. I think a percent of CiviCRM is another good approach.

Number of clients isn't as good a metric to me, since the type of projects that different consultants get from their clients may vary. For example, Stoob concentrates on small clients needing help using CiviCRM, providing clients with hours or days of help per year. I concentrate on engagements that require months of person time. I don't think counting clients would be fair to Stoob.

I'm comfortable using an honour system whether it is FTE or % of revenue.

However, I really like the idea of publishing the objective metrics like Drupal does of an organization's and its staff's contribution to the project.

I would prefer to leave security things separate from the association, and I think we should have a security team with a mandate and processes similar to Drupal's.

I think that the concern around in-kind contributions dropping as monetary contributions become required/expected is real. Don't have a good solution at present. I still think we should move forward with Partnership Association.

Stoob raises some interesting prickly points regarding the relationship between various consultant providers and core team activities/practices with respect to his 'change' paragraphs. Personally I don't think that we need to resolve them before we move ahead with an association. I would say that dollars don't completely equate to influence, but that in some cases new revenue streams can enable resources to be allocated to long-standing concerns. So I don't think that 'buying change' is the right metaphor here. But perhaps it might be a way that consultants would have some influence. Personally, I would prefer for the money to just go straight to the core team to replace revenue they will be losing from foundations, and for the community to 'make change happen' through discussions that also involve other voices like small and large users and major project funders like Zing.

(Personally I have seen some nice changes occurring as the core team took on additional staff recently. CiviHR as I understand is going to be building on some of the work supporting Symfony that has been successfully introduced in extensions, and will hopefully be building a path for migrating core away from some deprecated libraries in 4.5, for example. totten has played a big role there, and I understand that coleman is helping to address technical debt accumulated through fixes that helped get releases out the door by appying new consistent approaches across the code base when fixing various bugs. And Michael is helping steward community growth and involvement in various productive ways.)

Thanks Joe, as I mentioned above measuring money (or time, since time is money) is the only fair way, but that's impractical.  Since clients are wildly different, and I'm by no means the only guy with small ones, FTE via the 'honor system' seems to be the fairest, mostly realisticly implemented measure of dues.  I do agree that the core team is making positive changes currently, but influence and money and 'who's in charge' are still concerns that need to be discussed openly.

The existing process to report and fix security works well. it was more about communicating between the time there is an identified issue and a fix publically available.

For instance for the open flash vulnerability, being able to alert "trusted" people that

1) there is a security reported and confirmed

2) this is this file and that vulnerability, check for this and that and you can already change these permissions to mitigate...

3) a patch will be published in a few days

Obviously, the point 2 is highly sensitive as it allows to exploit the vulnerability and making it public would likely create more problems than it would solve and was kept "hidden" until a patch/new release is done

For some securities issues, I have been informed "out of band" or have informed trusted partners of the issue, because I knew they were using a combination of features that put them vulnerables.

My idea was that we could use this association to communicate more formally with a larger group of trusted partners, so they can patch manually/change permission/do the needed until a proper security release is ready or at least be prepared to upgrade.

Beside increasing the security of civi as an eco-system (more websites fixed faster), it would provide a valuable service to us and justify the cost

Anonymous (not verified)
2013-05-24 - 09:21

I'm once more happy to see all the movement in this open source community. As a former coordinator of dotProject community in Brazil, I've seen this great project management tools stop in the time mostly (imho) because of the lack of some healthy discussions like this one.

I think that the "partner" proposal sounds to me more like a commercial thing and "membership" sounds more like the community spirit. So, the second one would be more interesting to me, but I also know the world is about money and commercial stuff. Anyway, I think that should exist some kind of other contributions from the partner/member besides $$. I'm looking more to our case and I take the example that it'd be nice if the translation efforts we do could generate something back to us, like completing the membership requirements.

We're a very small company trying to "create" the presence of CiviCRM in Brazil. Our budget is small and there is the money exchange question, as well as tax to send cash over. I don't know if the contribution is plausible to us, but at other side, I consider it honest. Maybe we could contribute, but it will prevent us from going to a CiviCon meeting in a near future.

My local public radio station (probably yours too, if you have one), calls everybody a "member" if they donate anything more than zero dollars.  People give because they recognize they're already receiving a benefit, and don't want it to go away.  Speaking as an individual, I prefer that approach to anything along the lines of buying a benefits package for a price.  If the organization (a radio station, or CiviCRM core team) can be forthcoming about expenses and its need for financial support, people like me will give.

I also tend to agree with ErikHommel (if I understand him correctly) that creating a new institution is likely to have siginificant overhead and unintended negative side-effects. 

So if we as a community of CiviCRM professionals feel we should have an association, that would be a good reason to consider starting one, and to ensure that its purpose meets the needs of the CiviCRM professionals. But if we're just trying to address the funding needs of the core team -- which are legitimate and necessary -- lets' not say we're creating an association for CiviCRM professionals. Let's just say we're raising funds for the core team.

As an implementor/integrator, I am 100% behind this initiative and creating a sustainable ecosystem around CiviCRM, starting with the core team. But overall I am worried about spending too much time over-engineering this association and in the end having few providers 'buy into' it.

On calculating the proper contributions, the FTE via a 'honor system' seems to be the fairest system, tough we might have to accomodate for non-profits/coops/foreign and other special cases with a discount system - for example 50% off if you belong to these pre-determined categories.

On creating a legal structure for this association, this is going to bring a whole lot of complexities in the system that we most probably do not need, at least initially. Also, the expected non-profit status of this association is probably not going to bring in any tax advantages as the core team is incorporated as an LLC anyway.

With respect to the 'Governance' that this association could provide, we are already in a 'do-ocracy' and the core team greatly respects the voices of those that contribute the most. For 'Governance', we should probably just set a monthly phonecall for all interested service providers to discuss their issues, and then come back to the core team with propositions specifically backed by X, Y and Z. If X, Y and Z are amongst the most active contributors, this proposition will carry a lot of weight.

On the 'Certification' of service providers, this is also something that is going to add many complexities for no apparent benefits. From experience customers do pay little attention to these certifications as they do not mean a lot anyway. And existing trainings are 'end-user' oriented and certainly do not reflect the skills needed for an implementation, which are also very different than the skills needed for an extension development, which are also very different than the skills needed to build a reliable hosting platform.

On recognizing 'other' contributions, the core team already has an 'active contributors' page on the website. I would rather have them eventually formalize broad criterias and keep on maintaining this list on their own than put this responsibility on the association.

 

So in summary, and in line with the KISS principles: let's publish recommended financial contributions on a c.o page and send our checks to the core team asap. Let's have the core team flag listing on the service providers page with a 'CiviCRM Asssociation' badge, an 'Active Contributor' badge, or hopefully both for most of us. And let's setup a monthly phonecall to discuss 'service providers' issues and eventually come back to the core team with recommandations. This could be done in a few days, not months.

But 6 months from now, let's revisit the topic and see if we achieved our goal of bringing more sustainability to the core team. If we have overachieved and have a whole bunch of providers on-board, then we can probably spend some time formalizing things.

 

I feel inclined to agree with Allen Shaw that using a term like the American 'sustaining member' or 'financial supporter' might be more appropriate. This does seem to be primarily about fund-raising to ensure that business as usual can continue rather than providing a bunch of benefits.

 

As Joe pointed out we have 2 new full-time American staff members on the CiviCRM core team since CiviCon SF last year and they have both made a huge contribution to improving the code sustainability as well as the bells and whistles (I specified American because I'm not sure if the staff numbers have changed on the Indian team). So business as usual is actually not business as usual - it has been enhanced by the addition of Coleman & Tim.

 

It doesn't seem to me like Michael's proposition is about giving service providers more say or influence. Rather it is about keeping what we have going.  When I first heard Michael mention it it seemed to be about setting an expectation of the minimum that people who make their living from CiviCRM should be contributing back to the project. As Michael mentioned in his blog not knowing what the actual financial situation of the project is has always made it hard to get a sense of what is required (reasonable) from the consultants. So, setting a stake in the ground about an expectation may be helpful.

 

I think consultants might have fairly limited control over this money - it maybe that it is appropriate to use something like User Voice to prioritise usage of this money - e.g various proposals would be in there & consultants can use their purchased votes to say what they think is highest priority for them

 

My sense is that consultants are not the main providers of MIH funding but they are the main providers of CiviCon sponsorship and this will probably be affected.

 

As a CiviCRM professional services provider, I am always appreciative of all the core team does to keep the project moving forward.    I have been reading some of the comments here about requiring organizations to have to report on numbers of fte and consultants. This seems very heavy handed and intrusive for a voluntary association, whose main direct benefit to the members is advertising. (Such getting listed on the civicrm.org website) Instead of worrying about numbers of fte, why not offer different levels of membership? Similar to what already is done for CiviCon sponsorships, like gold, silver, and bronze levels memberships?  It seems like the larger CiviCRM shops end up choosing a gold sponsorship for CiviCon, so the end-result is acheived: typically larger shops pay more than smaller shops. 
 
My concern is that from a practical point of view, each organization has a limited budget. At the moment, part of a budget for a service provider organization is allocated to paying for bug fixes that are high priority for its clients, which are either a)Not recognized as high priority by the core team or b)Require an immediate quick-and-dirty solution for clients, while waiting on a long term solution from the core team.  Also, there is budget consumed in testing new versions of core to verify the features/use cases in use by their clients work in each new version. Plus some money is donated to various make-it-happen campaigns.   Since my organization's budget is not infinite, any funds paid for the new CiviCRM association fee would be less funds available to fix bugs, donate to make-it-happen campaigns, and do regression testing.     Also, I do not understand how priorities are set for which bugs are considered high priority and which are not.  There tends to be many grey areas, as it will depend on which clients are impacted, and how loud those clients are about the issue. Since each service provider has different client use cases, there may never be full agreement on which issues are high priority.
 
Another concern is currently there is little or no transparency or oversight on the activities, budget, and execution of various responsibilites of the core team.  I am concerned that any money paid in association fees essentially is going into a black hole.   Nor is there any clearcut definition of what the core responsibilites are, e.g. key activities that can never be sub-contracted.  For example if the core team wants to hire a new person, who is to say if the work could be handled instead by sub-contracting to a CiviCRM professional service provider?   Who is responible for choosing which professional service provider is selected for sub-sontracting, and what rate will be paid to that service provider by the core team?   Or who is responsible for setting and managing the budget and priorities of the core team?
 
I would like to be involved in helping to define a framework of how this might work.  Here are a list of my current thoughts in no particular order: 
 
1) The budget of the core team must be fully transparent. All line items in the budget should list enough detail so people know what it includes. 
 
2) Changes to the budget should be discussed publicly in advance of any decision. 
 
3) A set of standards should be documented explaining how JIRA issues are prioritized in general, and which kinds of issues are expected to be fixed/patched directly by service providers vs by the core team.  For example, some issues do not cause major loss of functionality, yet cause the non-technical end-users to lose confidence in the entire system and consider the system as beta or not ready for production use. Or issues that cause prospective clients to view the system as a sub-standard solution. Also how often should we get the "patch welcome" from Lobo, versus getting feedback on when it will be fixed by the core team. (This gets to the heart of the association: is it a fee for service arrangement to pay the core team to fix bugs, or are my association dues meant to show solidarity with the general mission of the CiviCRM project. If I am thinking of purely fee-for-service, then I may be better off directly paying WebAccess or another programmer to fix the bugs that are important to me. ) 
 
4) An agreement on which tasks will never be sub-contracted, such as deciding on version control systems, testing automation, direct oversight/management of bigger projects. For example, on the recent CiviAccounts project I am not sure how much oversight was handled by the core team vs sub-contracted. 
 
5) For tasks that can be sub-contracted, an audit trail of how a contractor was selected and what rate was paid, and if the execution of the task was handled well.  (Also, potential conflicts of interest should be raised: What if a voting member of the association is also an owner of an organization that is being considered for sub-contracting by the association) 
 
I really like the idea of having a variety of non-financial/in-kind contributions count as a substitute for dues, but I am concerned that this may not be practical. Lets say a certain budget is agreed on to cover the core expenses.   If 5 programmers go to a CiviCRM code sprint, it is certainly beneficial for the CiviCRM community and the organization that sent the progeammers may expect recognition of this in-kind contribution. However, their attendance at the code sprint does not lower any of the core expenses in the budget. 
 
 

Though I understand that tranparancy is required and all points are valid, this is one of the reasons why I think an association is not necessarily a good idea. I can see most of the money that will be raised going into administering all the stuff you are describing. We are creating an institution where no institution might actually be more (cost) effective?

Erik -   I think for the most part, my suggestions (#1 - 5) could be accompished simply by having a wiki page for each one.  Then when community feedback is needed, someone can blog about the information/discussion on the wiki page.     In fact, these suggestions could be handled on the wiki even if there is no formal association created.     I am assuming there is already a budget floating around somewhere, its just not public at the moment.   So I do not see how this would add costs. (other than the time needed to moderate any online discussions). 

Hi Sarah,

Looking at your comments, I agree that it would be good for us to have a doc that explains more clearly the process of how we prioritise fixing bugs.  I am not sure what documents currently exist on the wiki and various other places but if you were able to look into that and improve what is already there, I think that would be great.

I think we will make some progress in the other areas suggested by  1,2 4 and 5, e.g. we'll make our budget more transparent, but we do need to balance openness and the setting up of fixed rules, etc. against the costs of doing so and the reduction in our flexibilty/agility that would result.

This is an important and valuable discussion. Lots of really useful and interesting points and perspectives.

I'd like to add a few more from my own point of view as a small business that does some CiviCRM work, and would like to do some more, and also from the point of view of someone who has made very minor contributions to this product and community over the years I've been using CiviCRM.

I think perhaps we have managed to conflate two issues into this discussion, which might better be considered separately.

Michael began this discussion - I think - by asking the question "How can we best get more funding into the pot to help this product and community develop more effectively?". At the same time the proposed solition raises all sorts of questions about governance, and the power relationships that might or might not exist within the CiviCRM community. 

If the sole goal is how to get more money in, then there are some good idea presented above, and I tend to concur with the views of ErikHommel and others in that respect - let's keep it simpleand not get bogged downwith notions of associations, etc.

However I would argue that such an approach - whilst it may be effective and lightweight in terms if generating revenue - may be missing a potentially far more important opportunity, that being the creation of effective channels whereby the product and the community it serves can be strategically strengthened, with the goal of enabling CiviCRM to become a leading CRM tool for the third sector globally.

Open source tools like CiviCRM generally develop a community which is very much tech-focussed, and this is perfectly understandable given their evolution. At the same time, in very large part the end users of CiviCRM, by its very nature, will not be at all tech-focussed. And in between these two very distinct groups, we have a whole ecology of developers, consultants, managers, implementers, trainers, documenters, translators, etc., etc. all of whom will have some sort of stake in CiviCRM. 

I believe that, in the spirit of the non-profit/third sector that it seeks to serve, CiviCRM would do well to seek to take an inclusive approach and welcome all of these varied constituents into more effective relationships with CiviCRM in order to ensure that the strategic product roadmap is in harmony with the needs of the community that it seeks to serve.

I think that this is the mission that Michael has in his role. And I see it as critically important to the sustainable development and success of the product. My concern at the moment is that there is no such harmony, although I can see some developments happening that may hopefully change this.

I recall the development of the Drupal Association, and learned through watching that process that there is a key difference between the open source movement and the cooperative movement (which is where my thinking comes from). The open source world is very much a meritocracy, where the folks that score high on the metrics "float to the top" so to speak (and as someone noted above, "keep know-nothings out") . Whilst this approach is undoubtedly a great way to get the best minds focussed on the technical task of improving the software, it is far less useful when it comes to understanding what the real needs of the user community are. My own experience of working in and with cooperatives is that while a flat and democratic approach may sometimes be frustrating and limiting, it also brings great new opportunities for learning and development.

In my years being involved with member-based organisations I've always been a supporter and advocate of the notion of a Spectrum of Engagement. By which I mean that different people want to engage with the organisation at different levels, and a clever organisation will be aware of this spectrum and provide a range of opportunities designed to match that spectrum, and also enable people to move along it, from periphery towards the centre.

The people who write the code are one (or maybe more than one) bit of that spectrum. For many of us who don't speak code, or who don't speak it fluently enough to be contributing technical solutions (are we "know-nothings" I wonder?) that developer community is something of a closed world. But we have other - and I would argue, equally important - constituencies of practice.  And we have different requirements in terms of the services we might want (and be willing to pay for), the communication channels that we might usem and how we expect to be involved.

I strongly believe that by seeking to better understand the nature of these various constituencies, and their needs (both in terms of the software product itself, and the services that might complement the product), there is then considerable scope to develop solutions that serve the dual purpose of strengthening the community and generating substantial new revenue for the organisation that is not simply a tax on the community.

I would be very happy to be involved in developing a solution around this notion.

Since this post is labeled Part 1, I'm really looking forward to Part 2.

Having watched the Drupal Association try (and often fail) to walk the line between a non-profit that represents the entire community and an organizaiton that serves its biggest contributors who happen to share a single business partner, I'd really like to avoid seeing that happen to the CiviCRM community.   As the Drupal community has grown, the D.A. has become increasingly necessary to take on larger projects that were once handled by community volunteers.  The problem is the criticism about how funds are spent never ends and there is less interest in volunteering to take care of something.  If it's left undone, the D.A. could eventually pay to someone to do it so why volunteer?

CiviCRM has depended on the "benevolent dictator" model to get to this point and I see no reason to change that.  It might make sense to create an association that would manage certain aspects of CiviCRM and where more points of view are represented in the future, but as many people have pointed out that's a much longer, more complicated process.

I see a fee to be recognized as "Sustaining Contributor" as a logical solution to the problem that's been identified (CiviCRM's core team needs more $$), but if the goal is to raise $$ to cover core expenses, I don't think this designation should be limitted to service providers... or even organizations.  Keep the focus on individuals.  

I see contributing at a level that makes you a "Sustaining Contributor" as a vote of confidence for the core team and how they've managed everything they do to date.  I'd be happy to contribute to that, but I'd also like to see a "Sustaining Organization" designation for groups that aren't contributing code, documentation, or in some other way.  These are groups that use CiviCRM and are willing to contribute back at some level beyond what they've likely paid for an implementation and training.

Ideally, a Sustaining Contributor would convince some number of the organizations he/she works with to become Sustaining Organizations and have a multiplier effect while not necessarily increasing the costs to organizations implementing CiviCRM as service providers pass on the FTE costs.

Drupal's use of the pay to play system for http://drupal.org/hosting is constantly criticized.  While I'd like to see http://wiki.civicrm.org/confluence/display/CRM/Hosting+provider+information and http://civicrm.org/what/experts updated, as many people have already pointed out $$ isn't the only (or even most) important way to contribute.  

Putting a $$ value on other ways to contribute complicates things,  but I'd hate to see these be deprioritized to focus on paid client work needed to pay the FTE fees for an advantage in placement and leads.  Here's are some real world examples…

Both Peter Petrik and I proposed sessions for Drupal Camp Austin (http://2013.drupalcampaustin.org/sessions/#submitted-sessions).  

Nicolas Ganivet offers low cost CiviCRM training for non-profits in Denver (http://www.t4tcolorado.org/calendar).  

Developing these presentations/training, traveling to the events, and the time spent at the event all take time that could be spent on billable client work.

Here's a few potential changes to the draft fee structure that might address this:

  • Lower the cost of each individual Sustaining Contributor to $500/year (or %1 of median individual income for country/region/state if the user would like to contribute less). 
  • Require an explanation of contributions other than $$
  • Require explanation of contributions other than $$ to be updated each year with reminder emails throughout the year (great way to track and highlight non-code contributions)
  • Allow organizations where the % of FTE who are Sustaining Contributors is more than 50%?? to be listed/filtered anywhere organizations are listed on CiviCRM.org.
  • Create a Sustaining Organization indication that is based on % of orgs budget or a higher set fee.  Since most orgs are already share this publicly, this should be less of an issue.  A profitable service provider who doesn't employ enough Sustaining Contributors could pay the higher set fee. 
  • Encourage service providers who aren't as active in the CiviCRM community and/or only have a small percentage to FTE's working with CiviCRM to join as an Sustaining Organization and work towards increasing the percentage to Sustaining Contributors

These change prioritize active individuals who try to offer non-profits the lowest possible cost and contribute in many ways while still giving an additional advantage to organizations made up of several of these individuals.  By combining the income from an increased number of individual contributors with organizational "users", we'd likely still reach the financial target for funding core.  At the same time, by requiring each FTE be registered as an individual Sustaining Contributor we've increased transparency, lowered the barrier of entry, and encouraged service providers to get any contractors and new employees involved in community and contributing in some way as they are hired or hire contractors who are already Sustaining Contributors.  

Most of this feedback is based on wanting to avoid the preferential treatment individuals working at organizations focussed on enterprise level work now get in the Drupal community.  While the enterprise level work is very important, it doesn't have to come at the cost of keeping the barrier to entry for new contributors low and make them feel like their contributions are important.

 

Anonymous (not verified)
2013-05-27 - 08:23

This is a great discussion on a very important topic.

As a side note, from several years of project implementation, I've learned that doing something simple to start is better then implementing over-complex system that is partially used. Therefore I focused on comments/ideas that simplify the implementation process of the core team funding, getting results faster and then reviewing the process in the next iteration:

1) Supporters/members/donors sounds better then a professional association because that may suggest some approval process/verification of skills which this core funding project was not about.

2) Supporters/members/donors could also allow end-user organizations to contribute because there is no reason to deny money from those organizations. Everyone who is using CiviCRM and find it valuable, could provide money to support core team work.

3) Different levels of memberships may be easier to implement then fee based on the FTE or percentage of income. That way, there could be a rate for not-for-profit/ccop sponsorship, support from countries with lower income etc. Eeryone would pay what they can (like the conference sponsorship) and that model may eliminate complex calculations on full time employees (for example, we have 4 people working with CiviCRM but they also work on other Open Source projects during their week) or percertage of income (as a NFP, we don't generate income on implementations).

4) Accountability - that is a big one. It would be fair to report to the donors/members on where the money was spend on. In a first year, some high level overview may good enough to start, the model can be tweaked later. As a NFP providing support for NFP, we track/report on all of our time, so if needed, I can share some best practice on that.

5) In the future, donors/members could get a vote (or number of votes per contribution level) to have a voice in where the money is spend or the direction a core team takes.

 

My biggest worry with professional association model was that the open souce, free software would change into "pay for the software" model - of course, not formally, but mentally, there could be a switch from organizatins providing code contributions, documentations, bug fixes in their own time to organizations who pay for association membership and expect that to cover their contribution to the community. That issue was raised in several comments. I believe that providing voluntary base sponsorship/donor/membership system where CiviCRM providers and end users could select the level they want to contribute at would be the easiest, simplest way to get money flowing to CiviCRM core team without much additional infrastructure to figure out/setup. Some organizations may prefer to donate time by providing code fixes etc., some may opt-in for financial contributions and some others may do both. I believe that model would accomodate all needs and abilities of each organization and it would achieve the goal of providing sustainable source of income for the core team.

There could be benefits of such contribution - list of donors/members on the civicrm.org website, CiviCon slides, badges for the website - all the usual things that donors get.

Kasia

The more comments I read and the more I think about it, the more I agree with Kasia that we should stick with a voluntary base. Simplifying the discussion I think we only want to make sure the core team has enough money to keep going (at least that is the only problem I can really distill from the starting blog from Michael). We should find ways of doing that without creating institutions or organizations. I am seriously worried we are actually doing more damage than good to the ecosystem.....although I do think we need core and core needs funding.

Hi Erik

Much as I concur with your wish to keep things simple, I have to disagree with your analysis of the problem. To restate the two goals that Michael set out:

  • Make CiviCRM a financially sustainable ecosystem, funded primarily through its community of users and service providers
  • Ensure that the community is aware of how much it costs to ‘run’ CiviCRM, and how any money that they contribute gets spent

The second of these seems fairly simply to achieve, through increased transparency and reporting. The first goal should be read carefully, as it seems a fairly carefully crafted statement. I do not simply read this as "the core team needs more money to keep going". If it were just that then I would be inclined to fully support your proposals.

But the goal as written is significantly broader in its scope: it talks about creating a "financially sustainable ecosystem". To my reading this clearly indicates a desire to bring the various stakeholders into stronger mutually beneficial relationships with each other and with the core, with increased financial flows coming in to the core as one of the outcomes of that process. But if the stakeholders are to be expected to put their hands in their pockets repeatedly, year on year, then it seems reasonable to assume that they will want to see some ongoing benefits in exchange for that contribution, over and above simply having continued access to the software. 

I think that we are where we are because the current situation is no longer sustainable financially, and it has been based largely on the volntary model that you set out. It is in pursuit of the stated goal of creating an ecosystem (which is financially sustainable and mutually beneficial for all those involved) that I have set out my - admittedly more complex - proposal.

To be clear, I'm not ruling out your suggestion, I'm merely saying that on its own it will not achieve the goal as stated. At best it may bring in the required additional funding for the next year or so, after which I would imagine we would probably be back here again, having this same discussion.

I agree with what you are saying. I guess I would be very happy to have funding for the next year and then discuss again. Toi me a financially sustainable ecosystem with services provider association where status in the community is based on finance, not on merit, would be moving towards creating a commercial product?

(Apologies for not responding sooner - the lack of notifications in this forum is not helping).

"Status based on finance" would indeed be a negative step. I would probably argue that status by any menasure is probably not a particularly good thing. If the CiviCRM community is to be truly effective then it has to be open and inclusive and avoid where possible concepts of status or rank. Of course, where major contributions are made they should be duly recognised, but that should not equate to differences in status. Contributions can be made in many different ways, and these cannot be usefully measured one against anotherwithout creating division, which is unhelpful. An end user is as valuable as a developer is as valuable as a marketeer is as valuable as a trainer. They are all part of the ecosystem, they all have useful contributions to make, and (very probably) they all have money to spend.

I've been sitting with Michael's proposal, knowing that something didn't sit right, but not sure what.  Kasia's proposal above identifies the rub for me and proposes a solution - well done!

The stated goal of creating an stable funding base for a tool we all are depending on is important and worthy of our support.  The means though could have the unintended consequence of communicating that it is "service providers" who matter.  What we want is a solid community unified around the goal of making this the best CRM for non-profits possible.  We want to inspire support from developers, individuals and the non-profits we serve.  A support association that is prepared to solicit and accept gifts from each of these segments of our community makes more sense to me.

Simplicity is important, but it is contextual.  We are a larger project than when I first came to CiviCRM.  The overhead of an association that is a tax-exempt organization would yield an important benefit.  It would enhance, or in some cases make possible, our ability to receive formal grants from the kinds of organizations we serve.  Many such are constrained by policy or tax law from making large gifts unless it is to such a tax-exempt organization.  The simplicy can come in how we structure and govern ourselves, rather than starting by only welcoming a part of our community into such an association.

Hi all, I totally agree with the goals of this post. I like Kasia's post about keeping it simple (at least for the 1st. phase) and the "Sustaining Contributor" approach by kreynen. My first thought was "Certified Partner" but that could send "commercial product" subliminal messages, so Sustaining Contributor fits better. 

I think the Program should take in count 4 target groups:

  1. Hosting providers 
  2. Professional Services providers. (organizations)
  3. Professional Services providers. (individuals)
  4. End users

For each group a specific "Sustaining Contributor" program can be defined with commitments and benefits.

For example, for Service Providers (Organizations).

Commitments:

- Annual contribution based on #CiviCRM related FTE's or CiviCRM driven revenue based on a good faith approach.

- Other related to training, community involvement, Success Stories reported, ...

Benefits:

- One big benefit (IMO the biggest) should be being part of the Expert List in CiviCRM's website. We receive requests only for being part of that list.

- Sponsorship discount for CiviCON

- Sustaining Contributor Logo for be included in the website, other benefits.

 

Alejandro

As a I read through the long list of comments, I began to formulate two questions:

  • Is this about the community or is about those who profit financially from CiviCRM? I personally do not profit financially in any way shape or form from CiviCRM. In fact, being a part of the ambassador program costs me time and thus money. I would say that most community members who contribute fall into this category.  Creating an organization to get money from those that profit smells an awful lot like commercialization to me. Why stay with CiviCRM and pay to play when there are hundreds of CRM/AMS systems that let you pay to play.
  • Is this going to cause a downturn in those that don't financially profit from CiviCRM?  Although NPO's / NFP's don't directly profit from doing consulting and inplementation or training, they do profit from donations and time/resource management using CiviCRM. So what I focused on is those that actually are financially sustained organizations that directly use CiviCRM to do so.  By making those that pay more, more valueable within the community you neglect those that contribute small amounts monetarily or otherwise. That's why MIH has been so popular thus far as the little guy gets a voice with their small funds. All those little guys add up to a larger voice.

So, a follow up question is that if the goal is about money for the core why is membership sculpted for those that stand to gain the most financially rather then those that stand to gain the most functionally? Why is there not consideration for a member-based organization with a nominal membership fee ($500/year) first and the rest being ancilary? I mean you want more money from those that profit the most simply create a program to help facilitate such within the goal being that those who pay to play so to speak are the ones that the core team looks to for jobs that can't be handled by the core. An RFP process with a project manager within CiviCRM that potential customers can reach out to.  The projects could be broken down into sub-projects and sub RFPs (RFP= Request For Proposal) and strip out any pay-to-play information and let the bids speak for themselves.  This creates sustainable business for both sides (the core team receiving 3% or something of contracts thus covering the administrative costs).  It also allows the community to still be a community where the rest of the organizational aspects could be handled by volunteer members (this is what we do specifically).  Such as trainings, meet ups etc. that are sanitized from pay-to-play member potential sales pitches.  Furthermore, the pay-to-play members could pay an additional fee as "corporate sponsors" where they are actually paying to play for business rather then dictating where monies will be spent.  Let the community as a whole dictate the direction with the core team directing it without influence from pay-to-players.

I think the core team's goal of having sustainable finances is important but the membership needs to be cheap for everyone and those that have the extra can then commit via MIH.  MIH is for new features and membership dues are for current features and maintaining those features and fixing issues related to those items.  I often think that MIH funding trumps the existing functionality (bug fixes mostly) as the team has to go where the money is rather then being focused on delivering quality core functionality or enhancing it appropriately (my personal pet peave of transitive relationships that came as an extension rather then part of core).

As large as the community has grown, I can't image that many of those who use it would mind being members for a nominal fee and then MIH isn't impacted and another model is used to get the pay-to-players the business they are seeking from new or existing community members.  I also think it's unfair to have the larger pay-to-players making the barrier of entry for new comers even higher and the community members from having their goals met with real bidding rather then rates set by those elites.

Not trying to offend anyone but I personally give back quite a bit without regard to any financial gain as do many others.

Sorry I'm a bit late to this one, but I've been a bit tied up recently. My feeling is that this is looking complex and expensive. 

I can imagine this thought process: How many FTEs? 10 (ouch) oh but only about half of them work on Civi stuff, and then Civi work only accounts for about 30% of our income so should we pay 5k or 3k? or 1.5k? And then do you have levels for what country the company is based in, or should that be where your staff members are? What if we run all our transactions through a third world tax-haven? ;) And to get the non-profit discount do you have to be a registered charity? What about social enterprises? What about workers coops? 

I think a better mechanism would be simpler tiers like sponsorhip. Feeling like you want to pay for gold, fine. More constrained this year: pay for bronze. Having said that it does seem perhaps unfair that a long-time contributor NFP with limited budget may have much less visibility than Mega Hosting (apologies if that's a real company somewhere) who have deep pockets and want to scoop up a load of CiviCRM business. Having such big numbers involved makes this more of a problem.

Compared to Drupal Association (was from $30/yr individual and $100/yr organisation but changing - see https://association.drupal.org/node/17748) the proposed pricing seems very expensive and I'm not convinced the proposed benefits really make it worthwhile especially for larger orgs. $10k for a bit of extra exposure? That would be a lot of marketing budget for us! But if we opt out will the community despise us and feel like we're not pulling our weight? Oh it's a minefield!

I'm also concerned as others have expressed that this risks the attitude of "well I've paid my $x,000 this year so I now can't really afford and don't really feel like I need to take a week out for that sprint" while also devaluing or conflicting with the input of folks who can't possibly pay that kind of money but donate loads of time to help move the project along. 

My general feeling is that a much lower cost membership that draws in many more organisations would be a better starting point for this. It would seem like a more positive image is created by having a large list of service providers alongside a handful of Sustaining Contributors or Supporting Partners or whatever they end up being called. 

DaveM

 

 

I'm slightly late, been a busy week!

I'd love to be part of the board, I have experience in as much and meet a lot of CiviCR end users to. I'm sure my company would be up for signing up, but we're in the midst of merging right now, so I'm not 100% sure of what that commitment will be.

Anyway, I'm not the best coder, but I excel at talking to people and making things happen, so please, really do count me it.

Chris

Hey guys,

Thanks to everyone who has contributed so far - I appreciate all the brain power you put in and there is a huge amount of stuff in this thread that will help us as we build out the first draft for comment.  Thanks as well for being open and constructive in the comments - not that I would expect anything less of this community! - but it is worth noting in passing.

In some areas, like the need to continue to recognise and encourage 'non financial contributions', we are pretty much all in agreement. In others, like the best pricing model, we'll need a bit more thinking through before making a final decision. Needless to say, since everyone does not have the same opinion on all aspects of this discussion, we aren't going to be able to create something that satisfies everyone's needs 100%. But I'm confident there is enough overlap in our thinking that everyone will be broadly happy with what we come up with.

A few people have volunteered to help with the build already - that is great and thanks a lot.  If others have some capacity to help, please let me know since we are starting work on this in earnest now.

We will further build out the specs, define tasks, and keep track of progress on the wiki and issue tracker.  Before we do that, I wanted to quickly respond on a couple of the themes that I think are important.

One of them is how membership of the association might relate to influence on the project.  To my mind, the influence question is incredibly important, and one that we need to get right, and be clear on.  But I do not think that it is a great idea to have this conversation at the same time as having the membership association discussion.  Here is why...

If we conflate influence and the service provider association, we run the risk of suggesting that the best way to have influence on CiviCRM is to join the service provider association.  And to my mind at least, that runs completely contrary to the spirit of open source communities (its certainly not how we have got to where we've got to today).  Open source is not about influencing others to do what you want them to - it is about contributing and doing those things that are important to you - scratching your own itch, and making progress in ways that are mutually beneficial for you and the rest of the community.  Try a quick thought experiment: what is more productive? a) 50 association members trying to influence the core team to implement their specific tasks, or b) 50 association members getting on with those tasks - fixing their important bugs, creating their super useful extensions, writing clear documentation - and contributing all of that back. Like Nicolas (nganivet) said, "we are already in a 'do-ocracy' and the core team greatly respects the voices of those that contribute the most".

Allen Shaw nicely cut through the weeds when he said "if we're just trying to address the funding needs of the core team - which are legitimate and necessary - lets' not say we're creating an association for CiviCRM professionals. Let's just say we're raising funds for the core team."  I agree with that, and as the title of this blog post tried to suggest, sustaining CiviCRM is the key reason for creating this association.

Another theme coming through is along the lines of "we've done ok until now - why do we need to change our funding model". a.k.a. "if it ain't broke, don't fix it".  I think some historical context helps to answer this.  Until now, CiviCRM has been very lucky to have had 'seed funding' from a relatively small number of foundations (we could not have got here without them).  But we can't garuntee this funding is going to be around for ever and resting on our laurels would be a bit irresponsible.  Yes people - it's time for us to grow up! And as any wise non profit finance manager will tell you, diverse sources of funding are the best way to ensure financial sustainabilty, and it makes sense that our service providers play a role here.

One final theme I'm hearing loud and clear is the need to keep this simple. To that end (as Kasia suggests) we're going to focus on "those comments and ideas that simplify the implementation".  If we don't implement your great idea (e.g. improve the security infrastructure, solicit financial contributions from end users, etc.) as part of this initial phase, then that doesn't mean we don't think it is important - only that we need to focus. The best thing for you to do, if you have raised a topic that is important to you, is take the next step and implement it!

Anonymous (not verified)
2013-07-06 - 09:50

There is a likelihood of unintended consequences of this kind of funding model, and on the whole I agree with Erik's concerns. 

I'm a full-time volunteer with an organisation which is all-volunteer and doesn't do fund-raising... and yet has just celebrated its centenary. This works well, workers generally using their intelligence to help each other, except where there is some person who has a defined "job". Then the mentality changes to "it's their job, they must do it for me", even when "it" is the individual's interpretation of the role rather than something within the boundaries of the job description.

One of the problems with the proposed structure is that no-one is obliged to contribute more than the set tariff, and indeed there are no compelling benefits to the potential "partner".

There is something valuable that the core team could offer to partners, and that would probably be appreciated by the smaller ones - preferential access to core team members. That may seem to create inequality, but actually it's not that bad - providing a paid service to those who can afford it, which cross-subsidises the work you really care about. What *would* be important in this is putting a strict cap on the paid component (e.g. 20% of man-hours) to prevent the tail from wagging the dog. I believe we want the core team to be fully involved in development, and also available for the great contributions they make via forums and IRC.

This could be a big sales advantage to CiviCRM centric start-ups - the ability to include in the business proposal: "yes we are a small company but we have the full weight of the CiviCRM team behind us". That helps in competing with larger but less nimble companies. It may push up the costs for the small guy, but the big firm has higher overheads and will almost certainly come in at a higher price.

So imagining there was such a thing as a "core support contract", these would be available only to CiviCRM partners/associates rather than end-users. It could be an annual fixed price for access up to so many developer hours, more time costs extra (time significantly cheaper if in-contract rather than "overs", to encourage partners to accurately esitmate their needs - leading to a predictable recurring income stream).

Partners would then have the freedom to include this second-line support in those proposals where it makes sense. e.g. for a small community-based non-profit it would not be included, for a bigger organisation that actually operates like a business (marketing, salaries, H.R.) the customer would probably appreciate the peace of mind this gives, and be willing to pay for the privelige. Just to reiterate, this doesn't mean the customer can call the core team, it means that the partner can call the core team to expedite resolution of system problems at that customer site.

If done right, this kind of support offering can be almost "money for jam", i.e. it is insurance against something going wrong that the partner cannot resolve by themselves, and the hours contracted will not all be used.

There is a positive side-effect... it encourages attention to code quality on the part of the developers (BTDT - as a developer!) because it is the poorly conceived code that will generate the bulk of the support calls. Nothing focuses the mind like knowing that if the code one is wrting is flaky or poorly documented, there will be the bother of support calls.

Thus CiviCRM remains truly open-source and community-driven but there is a revenue stream for the core team.