I founded an open-source software project for voting about 8 years ago. It has been mostly a solo project, and it is very successful in that it is by far the most well known and most used software in its niche.
I do it because I love it, but as the software has grown and become more complex, it is becoming increasingly difficult to work on it in addition to my day job. It would be my dream to make it a non-profit that would provide me with enough income to do it full time.
I'm looking for advice to help me do that. Basically, I want to generate enough revenue to pay the rent, but in a way that promotes maximum use of the software. I plan to keep the software as open source, but have a restrictive license so people can't share with others and have to get it from me.
So those are my ideas to monetize in a way that is consistent with a non-profit mission. I know there are other posts out there about how to make money from software, but I am looking for advice in particular about how to do that with a non-profit mission.
Learn from Wordpress and other successful open source projects, give away your software for free, but charge for support and other premium additionals like priority hosting. Revise your current licencing terms to perhaps draw a finer line between a commercial and non-commercial user.
Not everyone is a commercial user or large company that can afford to pay for your software, remember that because you might lose a potential client who can't afford to pay now but might need support and hosting a little later on which you will charge for.
Congratulations on your development of a software which can make the process of ranked-choice voting and IRV accessible to more organizations -- and hopefully municipalities. It was great to see your software as the #1 listing on the FairVote.org website. You decisions to maintain the open nature of your software will be welcomed by their members.
Obviously there are many ways to support the development of the software in a models while ensure that there are sufficient resources to sustain the development (and the developer). All organizations have the option of finding a
The trick it to find a level that allows you to meet your personal goals, your business objectives, and support your valuable mission of sharing the tool of ranked choice voting.
Defining Non Profit Options In your question you specifically mention "non-profit." This usually means an organization that does not distribute its surplus funds to owners or shareholders, but instead uses them to help pursue its goals. In colloquial language this usually also means filing with the IRS to be tax exempt.
This should not be confused with the plethora of startup organizations especially in the high tech space that have hard to understand business models that grow enormous perceived valuations without ever putting a penny in the bottom line, or the struggling bootstraps that are barely keeping their heads above water and feel worse off than many so called "non-profits" Becoming a 501c3 Non-profit The most common type of IRS classification for your goal of promoting the options of Single Transferable Vote and Instant Runoff Voting would be the 501c3 classification. This would allow you to receive tax-deductible donations. It would also allow you to solicit and receive philanthropic funding from foundations and government entities.
Leveraging Philanthropic Support and Government Grants There is a wide diversity of funding options for nonprofits. These include philanthropic organisations -- foundations, family funds and government entities which act like of venture capital firms investing in the development of new technologies and businesses. In other ways they can be the actual ongoing customer paying for services delivered to a core constituency.
With the mission you propose there could be many local, regional and national foundations which would fund educations, advocacy, and promotion of single transferable vote and instant runoff voting around a specific software platform. Start your search for these at the Fund Finder managed by the Foundation Center. Also look for similar organizations through Guidestar and review their 990's to see where they have received funding.
Steps to Launch as a Non-Profit The steps to launching a non-profit start-up are fundamentally very very similar to those for a for-profit entity. You need to incorporate properly. You need to understand your core value proposition. You need to iteratively develop your product/services in partnership with your customers and stakeholders.
Here are the good basic steps for launching a 501c3 non-profit. To this add your own sensibilities about lean start-ups and focusing on the Minimum Viable Product. I would add to this that it is essential to understand who the customer, constituency and stakeholder group are -- and the fundamental distinction between these different entities.
Finding a Fiscal Agent One of the best practices for launching a non-profit is the development of a relationship with a fiscal agent. Many larger nonprofits have board policies which allow them to mentor or nurture a new non-profit. They bring the new entity under their wing, allow donations and grants to be made to their agency and allocated to the new entity. Some charge a fee, others don't. Here is a nice balanced explanation from someone who writes grants.
I believe that finding a great fiscal agent can be like finding a powerful business incubator.
The Social Entrepreneurship Model A strong trend in nonprofits is the social entrepreneurial approach. There are several aspects of this trend that overlap your efforts with OpenSTV.
The first is for non-profits to diversify their sources of revenue by maximizing "earned income" -- many of the ideas you mention are great examples of these. Examples for you might include: Workshops, Training, and Sponsorships/Advertising.
The second trend is for non-profits to approach solving social issues with the for-profit mentality. Many of these actually strive to achieve revenue that exceeds expenses so they can reinvest in the mission without external philanthropic support. There are many organizations that provide great support. My favorite is the Center for Social Innovation at Standford. Closer to your home there is a Meet-up group of folks in Boston that have some very well connected participants.
When there are clear business opportunities to build real equity in a traditional business sense hybrid of for-profits and non-profits can emerge funding by Program-Related-Investments (PRI). these can be a powerful tool. I don't think that you should overlook this option for your effort. See my comments on the drive for certification below.
Challenge of the Proposed Funding Models: Know Thy Market I believe that there are significant challenges of the models that you propose. It is the market. By and large who facilitates the type of voting targeted by your software? My estimate is that there are basically two groups -- non-profit associations/organization and municipalities.
Municipalities use certified voting hardware and software. they pay 100,000K for hardware, software and support. They are not going to be downloading low cost software, nor are they going to be using hosted solutions.
The non-profit organizational market lives on donations. By and large they like to do things cheap. When they spend money it is customer facing (think getting donors) or service delivery. Rarely do they spend money on operational overhead items. I am not seeing your software solving a critical pain -- so they would be adopting it because of a value alignment, and thus would want it free. Then you want to appeal to their value alignment to encourage donations.
The Best Donor Campaign Ever To this extent I think that you want to make it extraordinarily easy for folks to donate both directly and indirectly. You want to copy the very best of practices of donor campaigns. Have one click simple donations built into the tool. Make specific asks to accomplish specific functions. Provide them tools to solicit donations from their users. Without violating voter secrecy and avoiding perceptions of a poll tax -- allow individual voters to easily vote in support of the platform. Solicit donations from users to underwrite the use of the tool by other uses from communities that would greatly benefit from adoption. Have an annual appeal with a target and flash the goal until it is reached.
Owning the "Adoption IP" For most of the earned revenue options -- and even the secondary funding from philanthropic partners associated with the 501c3 approach -- I believe there will need to be a wrapping of the software with a certain degree of positioning of intellectual property around adoption of the IRV model. Become an expert on the adoption of IRV. Not just on the use of your software, but how an organizations shifts its culture to make the most effective use of the opportunity the voting methodology provides. This expertise will underpin the trainings, speaking, consulting, and educational resources that will add tremendous value to the earned revenue strategies.
Partnering with Advocacy Organization The best way to fund your effort will be to partner with established and well funded organizations that share your mission. From Fair Vote national to affiliates around the country there are grassroots organizations introducing our Democracy to alternatives to the "winner take all" model of voting. Like a built in distribution network, these organizations provide you a network of potential members to fund your development. Reaching out and hosting a webinar with them to discuss your desire to ramp up development to meet their needs "in the field." Inviting them to form a steering committee to develop a plan. And then building a plan that has each of them sell it back to their own memberships for support would be a natural. Working with a volunteer grant writer samples grants could be written to help the local organizations secure
There are many other organizations that would fit this approach as well. For example -- how about the League of Women Voters. In many municipalities the LWV has taken on the role of promoting and facilitating healthy democracy including the promotion of alternative vote tabulation methods. From Maine to California, the League has commissioned studies on IRV and come out in support of its adoption. In fact, the LWV in your own backyard has been supportive of it since for 6 years. Perhaps with your software they could start to adopt it at their own board meetings and in their own elections. This could be done in a way initially designed to be presented at their national conference and adoptions by other chapters around the country.
There are also many Church denominations (mostly those on the more progressive side) that have come out in support of IRV that would make great partners. One such progressive group in your backyard is the Unitarian Universalist. They were very active in the advocacy and support of the approval of use of IRV by Minneapolis and St. Paul in Minnesota. Earning their support of the software for church decisions across the country would be a powerful platform to develop the organization.
Drive for Certification I think that there is a powerful business opportunity for your software to enter the certification space. As you know, all software used in municipal elections must meet specific certification. There is both Federal and State rules. Many municipalities also have rules. One of the challenges for municipal adoption of the use of IRV have been the lack of functional software to work on the hardware they have invested in. The add-ons are dominated by solutions which run in the $15-40,000 range. A well organized non-profit would be well positions to develop the software which could carry the certification and integrate with the default software of the voting machines these cities have all ready purchased.
It's easy to figure out your dilemma,
Your bigger problem is making money from such a niche subject. Possible you can by selling this to big places for big bucks, but that's a risky business which I personally wouldn't take.
IMHO, do the licensing changes, make it clear to people if they want to use it commercially, make money out of it they have to pay for it but don't do anything more until you see some clear income from that.
Charge at least a $1K, watch the income if it's looking promising increase your focus if it's not, give it up, leave it free for everything and try to recruit more open source programmers if you want to keep it alive.
I think that you should keep the software FOS. Never ever charge for it, but if you would like, keep your restrictions high on the license.
However, make it very easy for people to use if they use YOUR hosting service, and charge for the hosting. You can build wordpress plugins or other website widgets to allow people to easily add the polling system to their website and charge the organization based on the volume of traffic that it gets. If you back port it to python 2.5, which should be very feasible, then you can host your entire back end on Google App Engine.
I have some experience now with working on some smaller personal projects, and I can say that it's nothing short of phenomenal for on-demand projects that run off python. Because of the nature of the system, like threads timing out after 30 seconds, you can't do anything too computationally intense, but you can run simple tasks or massively map reduced tasks very easily.
Using GAE would also allow you to easily track your customers use of different services that you offer, and it would be very open and up front about the charges that they have, and I'm sure that most people would be willing to pay it.
This approach is similar to Akismet or Wordpress. Make everything about the software free, but charge for high volume hosting and support. If you're targeting it towards non-profits or small organizations already, then they will likely not have the technical knowledge to run it themselves, but they will have the budget to pay for cheap hosting.
Personally I prefer the more scalable "hosted for very little per month" pricing models these days ...
I would create an excel workbook with outgoings on one sheet and work through month by month for a few years on the horizontal axis.
Then have a matching month by month sheet for "current case" and one for "with extra marketing and we 4X our sales volume" what does the cashflow look like?
Playing through a range of good and bad case senarios will be the best way for you to actually get a feel for what happens.