Towards Public Open Source Services, An ingenious P2P Funding proposal by Jeff Lindsay

An ingenious proposal by Jeff Lindsay:

“The point is this: Twitter is an important piece of infrastructure. Even if it didn’t change for a long time, people would still use it because it is useful. If there was no business behind it (which there practically isn’t — got revenue?) … would the community pay for it? It depends on how much, right? Well, say expenses are low and users are high … and you don’t require everybody to pay the same amount, so some pay a lot, some pay nothing, and some somewhere in between. And say you have enough people paying different amounts that collectively make enough to keep it running (which we assume we can get it way down there), well… then it will run. If they don’t … it simply goes away. Why? It can’t run. Nobody is paying for it.

Now think about something else. How many useful bits of cool plumbing are made and abandoned on the web because people realize there’s no true business case for it? And by business case, I mean make sense to be able to turn a profit or at least enough to pay the people involved. Even as a lifestyle business, it still has to pay for at least one person … which is a lot! But forget abandoned … how much cool tech isn’t even attempted because there is an assumption that in order for it to survive and be worth the effort, there has to be a business? Somebody has to pay for hosting! Alternatively, what if people built cool stuff because it’s just cool? Or useful (but not useful enough to get people to pay — see Twitter)?

Well this is common in open source. A community driven by passion and wanting to build cool/useful stuff. A lot of great things have come from open source. But open source is just that … source. It’s not run. You have to run it. How do you get the equivalent of open source for services? This is a question I’ve been trying to figure out for years. But it’s all coming together now …

Enter POSS:

POSS is an extension of open source. You start with some software that provides a service (we’ll just say web service … so it can be a web app or a web API, whatever — it runs “in the cloud”). The code is open source. Anybody can fix bugs or extend it. But there is also a single canonical instance of this source, running as a service in the cloud. Hence the final S … but it’s a public service. Made for public benefit. That’s it. Not profit. Just “to be useful.” Like most open source.

So how do you take care of something like this financially? If it’s running, it’s using resources. Well, again, if you expect this thing to be financially self-sufficient, it needs to leverage the cost saving benefits of cloud based infrastructure, but also take humans (which tend to be the biggest expense) completely out of the loop. So you automate as much as possible.

If you can, you certainly don’t want to have to fuss with all the details of running and administering a system. This means even EC2 is not ideal. Google App Engine however … there is not a single bit of system administration beyond designing database indexing (arguably DBA, not sysadmin). You don’t touch a Unix prompt. It’s all taken care of for you … even scaling! What’s more, is it’s cheap and on-demand. These are perfect foundations for a self-sustaining system… now you just need to get people to pay for it!

So what, you set up a PayPal account and tell people to donate? Well, you’re still in the loop if you have to take those donations and pay a bill to Google. Not to mention convincing people they need to pay. Instead let’s do this … this is the heart of the magic of POSS:

You use the same Google Merchant account that App Engine debits as the one that accepts donations. This way no bank account is involved. Then you track the money that goes into the account (using the Google Merchant IPN equivalent). Then you look at your usage stats from the App Engine panel and predicate future usage trends. Then calculate the cost per month. Then divide the cash in the account by that and you have how long the service will run. You make this visible on all pages (at the bottom, say) that this service will run for X months, “Pay now to keep it running.” You accept any amount, but you are completely clear about what the costs are. And this is all automated.

That’s right. Once in place, you can completely remove yourself. If the service is useful, people will use it. If they want to keep using it, they pay for it. If they don’t, it goes away. But costs are completely transparent, as cheap as possible, and on-demand. So perhaps it does go away because it ended up not being useful. Somebody else stumbles upon it (through a static page placeholder) that allows them to “put more quarters in” if they want to use it. It’s also open source, so if people want to make changes or fix something, they can. Various people in the community would have the ability to deploy to the cloud … just like some in open source are considered a canonical source for the source code (in the context of DSCM). It’s not just “Software as a Service” … it’s “Open Source Software as a Public Service”.

In effect, you get something kind of like Wikipedia — only leaner, and more automated. They do fundraising drives to cover their annual operating expenses. This is a batching approach that lean thinking shows us is inefficient. POSS makes this a continual, ongoing process … making it much more efficient. Not to mention completely automated.

Now the story above assumes App Engine, but you can tweak it to work in other circumstances. The point is the story above is ideal and best to prove the point.

The community pays for, maintains, and consequently uses this software as a service, leveraging all the latest cloud infrastructure. And it all starts by you making something cool. The cooler it is, the more people will use it, the more it will cost, but the more people to split the bill with. And different people will value it differently. This is a plus. Sure, some people won’t pay for it. But some people will pay way more than many because they have the money and may get more value out of it. This system can be further be optimized to fully extract consumer surplus using tricks like suggesting donations that get larger until there is resistance.

So much stupid crap is made on the web in attempts to make money. Most of them fail. Yet you have completely valuable and useful things on the web (Twitter), that aren’t making a dime. Perhaps capitalism isn’t the only answer. And I know I referenced nationalizing at the beginning, but this isn’t about socialism either. It’s simply about technology and self-sufficiency. Certainly, not everything should be POSS. The best candidates are reusable infrastructure bits of plumping and difficult computation made easy. Infrastructure that will make it easier for you and others to build a service that is worthy of a startup, not to mention letting tinkerers do more with less.

Would this work for Wikipedia or Twitter? Considering their scale and the complexity behind that, probably not. It’s hard to automate very complex things. But as we continue to standardize industry practice, virtualize, automate and raise abstractions … someday it may be possible.”

Leave A Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.