Paying For Software Development

This is my proposal. Everything on this page unfolds directly from the term "federation of software coops". I had fun writing this proposal, and why not? I'm presenting a concrete alternative to at least two institutions I despise. Of course I'll enjoy it! Here goes. -- RK

There is a lot of software which serves the general interest without serving any one person or institution sufficiently that they would single-handedly pay up front for its development. Paying for the development of such software is the issue at hand.

Aside from patronage, there aren't any inherently viable business models for software development. The intellectual property model may be viable now due to overwhelming police and military force of Western governments but that's not a sustainable situation. And relying on patrons, whether academic or corporate, is a very bad idea. For one thing, patrons are rarely forward thinking. Nor is complex, well-designed software likely to result from patronage.

If we don't want to rely on:

which are really incredibly stupid things to rely on, then we need to develop a viable business model for software.

But before proceeding, a bit of history.

Not long after the inception of the GNU Manifesto, various people foresaw their livings disappear as a result of free software. Partly in order to appease them but mostly to generate FUD, RMS made vague handwaving remarks about paying for software development directly. He never meant these remarks seriously and very few people ever took him up on it. The few who did were swiftly rebuffed.

Over more than two decades, RMS hasn't expended a single erg of energy to elaborate a workable plan to fund software development. Never mind promote or support such plans! And the reason why is simple, the situation has never affected him, the son of a bitch. As a result, RMS sent a loud message that large-scale direct funding of software development was unworkable and his message was heard clearly for all this time.

So in reverse homage to RMS, I present my proposal in terms of what the FSF should have done had they been the least bit ethical. As should be obvious even to cretins, if you deliberately seek to destroy thousands of peoples' livings then ethics demands you at least try to find an alternative for them. The kind of callous disregard Stallman demonstrated ("software developers will just have to stop eating sushi") isn't something a person of conscience can positively associate with ethics.

One such model is the Federation of Software Coops.

Imagine for a moment that the FSF were an actually ethical institution, an Ethical Software Foundation. Because it would be ethical, it wouldn't exploit or abuse its employees. Nor would it rely on "volunteers", many coerced, to selflessly give away their time and work without ever getting anything back. Nor would it solicit funds from "donors" to altruistically give away their money without ever getting anything in return. Because it would be ethical, it wouldn't be structured as a totalitarian corporation where RMS and a hand-picked cadre sitting at the top get to decide how other people's money gets invested. In other words, because it would be ethical, it would have to be a cooperative where those who put their time and money into projects get to decide what goes on around them.

Now, assuming that the ESF were prosperous, and cooperatives generally are, the fact that the ESF has such wide-ranging and diversified interests would induce it to restructure. The actual software development would be spun off into a group of developer coops subdivided by project type; expertise required, risk incurred, etc. The funding would be managed by a Software Development Credit Union. The acquisition of funds would be transformed into a network of non-profit buyer coops. Lo and behold, our humble Ethical Software Foundation has transformed itself into a Federation of Software Cooperatives.

And here is how it would work.

The developer of some random popular software gets a business loan from the SDCU. The key difference at this point is that the developer doesn't have to rely on 1) personal loans, 2) vulture capitalists, or 3) a bank that doesn't understand anything about their business.

Having developed the software, it is released to the general public for immediate use. Not for "sale" but for use. Since the software is extremely popular, the developer starts getting a barrage of requests for modifications and technical help, as well as complaints about bugs. The key difference at this point is that the developer tells users not my f-ing problem. Because it isn't. Dealing directly with users isn't the responsibility of the developer but of the buyer coops.

Having started to wise up, the users buy memberships in their Local Software Buyer Coop for a nominal fee. There, they can receive technical help and training on whatever basis they're willing to pay for (including one on one personal contact) from people in their local area. They can also complain all they want about bugs to fellow users, and buy Modification Orders for the software they have an interest in.

Modification Orders are sold in bundles, typically 10, for a price of 50$ (two meals at a good restaurant in your country). The key difference at this point is that prices are local. When cooperatives do this, it's to keep their services affordable in the local market. When corporations do it, it's to maintain illegal monopolistic control over the market. Cooperatives are IN the market, corporations are OVER the market.

Having amassed a bundle of cash and modification requests, the LSBC retains an interaction designer of their choice to come up with user stories for the appropriate software. Having concrete user stories, the LSBC contacts the appropriate developer coop to negotiate. The developer coop charges the LSBC a nominal fee for the evaluation of each story then it sets a price for each story. The first key difference at this point is that interaction designers are retained by clients, not by developers, and so their designs won't suck. (Consider the role of architects in suburban developments.) The second key difference is that fees and prices are set in Modification Orders whose dollar value varies across the globe.

(A developer can maintain a forked version of the software with a modification they didn't want to include into the software. They just have to charge an exhorbitant price for the modification.)

Having prices for the new stories, the LSBCs can inform their members that they can invest their Modification Orders into particular user stories. Once the price of a user story is met, the associated funds are committed and put into an escrow account with the SDCU. When the software developer releases a modification that meets the user story, then the funds are released from the escrow account to the developer. The first key difference at this point is that software developers can't get money for promises they never intend to keep. The second key difference is that if a user story isn't clear enough to tell when it's "done" then money for it can never be committed.

Now, of course the software developer invested a great deal to develop the software in the first place. That money hasn't been paid back yet. But it will be since the developer made and priced user stories for the original version of the software and the LSBCs will conspire to make sure they're paid for. Any funds the LSBCs have retained by the end of a quarter which can't be invested into any user stories will simply be disbursed to the software developer of their choice. They will do this for two reasons. First, because as non-profits they may not return any surplus to their members, by law. Second, because any LSBC that doesn't sufficiently support the software developer coops they're members of will simply be kicked out of the system.

So if members of the Downtown Toronto LSBC bought 570,000 Modification Orders in 2009 but invested only 420,000 then 150,000 Modification Orders will be committed to user stories which are already complete (but not paid for) among the software developers the LSBC supports. The key difference here is that paying back the developer's initial investment is done without inhibiting further development of the sofware, funds don't go to pay back initial investment instead of further development, let alone user adoption of the software.

And that is how it would work if the FSF were a genuinely ethical foundation and if RMS were seriously interested in ethics. But since they're not, any federation of software coops would have to be started from scratch, wasting more than 10 years of lead time which the FSF has had.

-- RichardKulisz


[personal war deleted / edited out wage slavery above]

The key difference at this point is that the developer tells users not my f-ing problem.

[personal war deleted]

When cooperatives do this, it's to keep their services affordable in the local market. When corporations do it, it's to maintain illegal monopolistic control over the market.

Your funding model is actually very similar to what a couple OSS projects use, like Cedega/WineX. How about you re-write it in terms of a proposal for your own project, see if people are interested, and if they are, then the concept will grow, rather than yet another long diatribe about how everyone is unethical, everthing sucks, nobody makes any good software, etc, etc, yawn yawn yawn. All you have to do is set up the infrastructure and inspire a sufficently large group of developers and users to work with you.

[ridiculous idea of me being a leader deleted]


[personal war deleted]

Heh. I don't hate you, although you're irritating. I don't resent you, because you've never done anything that harmed me in any way and I doubt you're capable of doing so. I don't fear you for the same reason. I *disagree* with you, and you're insecure enough about your own intelligence that you have to frame disagreement as stupidity, because otherwise you might have to actually have to consider other viewpoints and opinions. I see a fair amount of myself in you, like what I'd have been like if I hadn't been lucky enough to meet some very special people in my teen years. Angry, bitter, upset, convinced of my own righteousness and intelligence...yeah. That could have been me.

I like what you've added to the beginning of the page. I appreciate your anger against Stallman. I think it's silly to blame it on him, and I think it's incorrect to label it an ethical failing, because it's like claiming that irrigating the desert makes it impossible for the water monopolists to make a living. But I understand your anger and frustration. Many types of software went from being expensive, premium goods to commodities in a very short period of time. It's not the first time it's happened, although it's amusing to see conservatives get pissed about it because people are giving stuff away, whereas it's normally the liberals getting pissed because jobs are moving offshore. I don't think I have any ethical obligation to not give away something, just because you want to sell it. That's why I don't think this is an ethical issue at all - it I want to spend my free time or my personal money working on something I'm going to give away for free, that's my right and if it interferes with your ability to make money, tough luck. The issue is economic and not ethical to my mind. Yes, I am perfectly aware that many economic problems have ethical implications.

My contempt is evenly distributed. I despise software monopolists for hoarding software and I despise Stallman for not even trying to create a liveable alternative once his own precious hide was safe. I despise Stallman for failing to learn about and adapt to the world as it exists, especially since adapting doesn't entail conforming. And finally, I despise the FSF for being modeled after the same corporate neo-liberal NGOs that have taken control of the third world away from local governments.

In an argument with someone (EH?) several years ago, I took the anti-monopolist side with abandon. In a more recent argument about peer-to-peer, I again took the anti-monopolist side with abandon. (Art should be funded on a communist model though, not a socialist model like software.) Since then, I encountered the software funding problem again and when I bothered trying to think of a solution to it, I did. Stallman didn't learn anything about probably the most important area of his life and I despise him for it.

Again, my positions are a lot more complex than you've grasped. -- RK

Now that's an interesting claim: "I despise Stallman for failing to learn about and adapt to the world as it exists, especially since adapting doesn't entail conforming. ". How about you, do you despise yourself or do you consider yourself "adapted ", because you must be aware that for a large part of your audience you look very much unadapted?

The software funding problem can be solved very easily: if you have some ideas, all it takes is to put some effort and convince some friends that your ideas are cool, create a prototype, spread it, others will join the project if your ideas are valuable, your project stands a chance to acomplish something, with the gained influence you can change things and promote your ideas on a greater scale. That's what all whom you despise (from Stallman and Linus to Bill Gates) did and even if you despise the outcome at least they have something to show for their effort. If you wait until "the art will be funded on a communist model" you follow a losing strategy regardless of the ethical merits or especially demerits of the "funding on a comunist model". Trying to convince others that art should be funded on a communist model is also a waste of your energy: you just can't do it. So why waste all this energy on losing strategies? -- Costin

As I pointed out, adapting doesn't imply conforming. And just because I adapt doesn't mean I adapt in ways others expect, or like. RichardDrake noted this; I don't simply ignore my opponents the way that Americans have trained themselves to do.

As for changing the software funding system, yes Costin I know that's exactly what I'll have to do to get it done. Until you pointed it out, I was trying to avoid publicly saying any such thing in order to avoid raising expectations. I prefer to focus hype on what I'm doing now rather than 5 years from now.

And I'm not trying to argue that art get funded on a communist model, it will have to once a universal catalog gives everyone easy access to "underground" pirated media. There's no point to arguing it even. I was just throwing it out to try to teach the anonymous poster not to make stupid assumptions about me. Hell, you've made fewer assumptions about me in the past few years than this guy made in just one day. -- RK

It's all nice and dandy, Richard, but by choosing this strategy you lose credibility now, you incur a significant opportunity cost in not letting anybody help you, and 5 years from now BlueAbyss won't be there. While Microsoft can put out a lot of hype and catch with results later, I have very serious doubts that it can work for you. As far as programming is concerned, nevermind the advanced algorithms required by your vision, there's an enormous amount of brunt work that is required, and that just won't happen in 5 years unless you can convince people now to join your project. It's your privilege to define "adaptation" the way you see fit, but as long as the results are missing you'll be judged as unadapted for all it matters. -- Costin

I don't think so. I think that BlueAbyss will be there in 5 years time, though that's not what I was referring to.

What I was referring to was that in 5 years I plan to have a company which I can turn into a whole group of coops, complete with credit union. But I really don't need to raise any expectations about that because it might still fail for some unpredictable reason. And it's much too long-term to bother hyping.

As for BlueAbyss, the brunt work can't be done until the architectural groundwork is done. And in any case, I don't need others to build BlueAbyss before selling it. It doesn't even need to be complete before selling it. It's gonna be sold as it's being built. And the reason why is rather ingenious.

Instead of building an OS from the bottom up, I'll build it from the top down. I'll start with a universal catalog over a 3D GUI. Then I'll build downwards to a slightly modified language. Then back up and outwards with a neowiki. Then just outwards to cover all the common applications like editors and movie viewers. Then back downwards to a highly modified language. And once I've reached this point, once all the applications people use are my applications, then I'll be free to build the core of my OS because nobody will care. Building the core of the OS will just be a massive user-transparent refactoring. Build then refactor, refactor then build some more.

So yes, BlueAbyss will be there in 5 years. The only way it can't is if it fails before it starts. -- RK


EditText of this page (last edited January 15, 2006) or FindPage with title or text search