Ubuntu QA:
BlogBrainstormPackage status
Log in
Ubuntu QA
The Ubuntu community has contributed 16778 ideas, 103272 comments, 2165696 votes
Idea sandbox Idea sandbox
Popular ideas Popular ideas
Ideas in development Ideas in development
Implemented ideas Implemented ideas
Idea #14773: Ubuntu FeatureStore - or how-to improve the payment of open source developers

Written by xfuser4 the 24 Oct 08 at 16:34. Related project: ubuntu.com. Status: New
Rationale
I'm an user of open source software for years - and I'm also a developer. Currently I'm a student of computer sciences and one of my biggest dreams would be to work on open source software later in my life. I like the spirit which grows out of sharing work with other people.

But there is still one dilemma, which is bad for me as a user of open source software as well as for me as a developer of open source software: there is no easy way to support the development of OSS with money directly. Of course, there are ways: but they are more or less addressed to the server, embedded and office market. Big companies which want to get their hardware sold, are putting a lot of money into the open source development. But as an end user, I have no possibility to do it. Today it is even not possible to buy an end user distribution. They are all free: Ubuntu, OpenSuSE and Fedora can be downloaded from the Net.

Please don't misunderstand me: this is great. But it prevents to subsidize open source software for the end user. This leads to the current problems of Linux on the desktop: On the one hand it is the lack of good applications (where is something like iPhoto or iMovie for Linux?) - but which is even more worse: it is the lack of many subtle features, which makes working so nice on a Mac for example.

Being paid is more than getting enough money to life - it is also a way for getting feedback from people. Paying money shows, that something is valuable for the payer. This kind of financial feedback is not really given on the Linux desktop. I think this is one big reason, why the Linux desktop is still not the thing we really want. It is really good - but it still lacks many obvious things.

I have a suggestion for a business model, which perhaps allows us to improve the Linux desktop by putting money into it:

Just have a look at the AppStore of Apple. There is a lot of software there which costs only 5-10$. It is still enough for the developers, because it is so easy to buy it. Just one click is needed and you, as the user, get what you wanted to have. And because it is so easy, not only one, but one thousand users will buy your software.

What would it be, if we could transfer this concept to open source software? Of course, no one would pay for free software. But perhaps a user would pay for getting a certain feature implemented.

For example: I don't like the way file sharing is done in Nautilus. And there are lots of people who don't like this, too. Everyone of them would pay 5$ to get a better file sharing interface. If somebody would it make possible to collect the money easily, a developer could earn 500$ for this job.

For a gifted student - this would be great. And even for an experienced developer, who needs only some hours to get this job done, it would be enough.

There were several approaches already to do this. But they all had one problem: they were not user-freindly.

It was not easy enough to pay from point of view of the user and also not easy enough to get the money as the developer. As the user I don't want to use things like PayPal. I just want to use my normal login (where I have stored my credit card or bank account number), and want to click on "Pay for this Feature" - just like I do on Amazon.

As the developer, I need somebody who makes sure, that I get my money. Especially as a student, I need somebody who cares about things like taxations and social insurance (which is quite complicated in Germany for example).

As a developer I want to be sure that I get my money - as a user I want to be sure, that I get my feature. So the platform needs to be trustworthy. An windy Wiki-page of an open source project were some unknown foundation does this job for me, is not the right thing.

There are lots of other issues and ideas for this, I can't write down here: The most important thing is, that such a platform has to be presented by a trusted and well-known company, like Canonical, which has access to lawyers and financial experts and which is concentrated on the end user and knows how to make a cool, easy-to-use web platform.

31
votes
up equal down
Solution #1: Auto-generated solution of idea #14773
Written by xfuser4 the 24 Oct 08 at 16:34.
Ubuntu Brainstorm was updated in January 2009. Since the idea #14773 was submitted before this update, its rationale and solution are not separated. Please vote accordingly, and if you have the necessary rights, please separate the rationale from the solution. Thanks!

Propose your solution

Attachments
No attachments.


Duplicates


Comments
glotz wrote on the 24 Oct 08 at 20:38
On the other hand, this might lead the masses with the money seducing capable developers use their time to make silly features instead of hardcore Free Software. (Open source is useless by the way)

If you want to make sure your dime is well spent http://www.debian.org/donations

davagui wrote on the 24 Oct 08 at 23:09
It's an understandable concern, but what you propose is to change the whole core philosophy and spirit of GPL and free software, which is obviously not acceptable.

Maybe Linux is not as good as we'd like compared to other comercial software, but if there's something you don't want, you can change it and offer it to the comunity, that's the way things are done in Linux.

Of course you'll always be able to donate to the project you like the most (or accept donations if you're a developer), but if you want to make a stable profit you'll have to initiate (or adhere to) another software philosophy which may be comercial in part.

That's just my opnion.


DanRabbit wrote on the 25 Oct 08 at 01:17
@ davagui

Have you ever even read the GPL?

Stallman purposefully made the GPL so that open-source could still generate revenue.

It's not against the GNU philosophy at all.

Perhaps a middle ground can be reached. Implement a system like xfuser4 suggested where a user can buy with a single click and a password.

But also, make it so people who don't want to charge can receive donations with a click and a password.

@ glotz

If the people want silly features, who's to say that's a bad thing? I always saw open-source as computing of, by, and for the people.

And I don't think the problem we're addressing is whether Debian or Ubuntu or SUSE is getting paid. The problem is that the little independent developer isn't getting paid.

I've been getting a few hundred downloads a day of the different projects that I've been working on for the past year or so and I've made less than $100 USD. Keep in mind that this is just downloads from my personal site. Imagine that quite a few of my projects are re-hosted on other websites some with and some without my knowledge. So, I really don't know how many downloads a day any project is getting.

But, if I wanted $0.99 per download and I was only getting 50 downloads a day I could almost develop full time and quit my job.

This means that my products would become even better for a few reasons.

1. Time. I can work of my projects all day every and any day. I could work from home, so I wouldn't be wasting time driving anywhere. This would allow me to pay far greater attention to detail without worrying about the project becoming stale.

2. User Feedback. Users now become customers. Customers want to get their money's worth. Even if it's just a dollar. I get a decent amount of feedback, bug reporting, etc. But when a person is paying money, they will not hesitate to insist you fix whatever problem they're having.

3. Increased competition. Now that I'm charging for a product, it needs to be really good. There's probably a free alternative somewhere that's almost or just as good. Developers would be forced to create better products in order to compete with those products who are offered for free.

I could go on, but I think you get the point.

This needs to happen for Linux, be it Ubuntu or other.

tchalvakspam wrote on the 25 Oct 08 at 01:38
The concept of "bounty" on features has been interesting to me recently, in that people can donate their money towards a set list of goals, which if a developers is able to create the software to meet, they'd be able to cash in on the bounty.

The method of basing a tiny cost on downloads (e.g. a dollar) is also a nice solution, in that the volume of people needing a feature will determine whether software will be created.

Deightine wrote on the 25 Oct 08 at 04:26
Building on the bounty concept above, one could have the foundation supporting Ubuntu opens a side-foundation specifically for application reinvestment. As this is just a comment, I'll lay out the base idea I have but I'm not throwing the full business plan at it (too arduous for a comment).

1: A site is built for the purposes to follow...
2: People donate toward either a new software, a desired feature, or a currently existing identified bug.
3: Programmers log into the site that tracks all of the data (donations vs. efforts) and when a significant enough amount of money (from their perspective) has built up, a programmer offers to contract.
4: The site automagically builds profiles based on the past work (and approval ratings) of all competing programmers (or teams of programmers).
5: It is put to a community-wide vote between the donating users who can read those profiles; the users determine -which- programmers get the contract.
6: The site initiates a contract between the users and the programmers (who may also -be- users).
7: A timer starts, and the contract winners begin their work. This doesn't mean they get payed, that part of the process comes later. Paying afterward (but holding the money in the foundation's care) prevents immediate snatch-and-grab fraud.
8: Said contractees (programmers) get the work done. They report -to- the community (through the site) what they changed, how it was done (in summary), and the timer confirms how long it took them.
9: The community (including other programmers) votes on whether or not the request was fulfilled. If the vote shows an approximately 70% approval rating by all voters (such as 3/5 stars), the money is released to the contractees. If not, it is held and more programmers can attempt to take up the request.
10: Site rebuilds the profiles of the programmers involved with the projects including their new ratings. By not meeting at least 70% approval, the jury of their peers have said they didn't do a good enough job to be worth being payed for it. If they did better, it averages into their total approval rating. By doing it successfully, they get payed... By doing the job very well, they end up with a higher approval rating.

Etc. Etc. I could rant on the idea for hours... But in the end, someone will have to bankroll the initial effort to help the programmers get involved, make the community aware of its presence, etc. But even a tiny little-known programmer could do a bunch of pro-bono (free) programming to build up their profile and then start bidding. A particularly skilled high school student could even start making a living doing this.

It's similar to the system the government uses for contract bids, except that it would have 100% transparency. And if someone lied and said they did more work than they actually did? Well... our internet is jam-packed with critics to upbraid them for it.

The system would take care of itself.

Deightine wrote on the 25 Oct 08 at 04:30
Oh, and in addition to my last comment... Because its contracted, the person receiving the contract would be responsible for all of the taxation issues in their rewards and thus puts the weight of handling financial/legal burdens in the hands of someone wanting to take on the requests... not the foundation.

It would only need 1 lawyer. The one to take on and turn away the easily defeated lawsuits of the inevitably disgruntled, pissed-off, crappier programmers. But these types tend to have a high rate of attrition among competant programmers anyway. Just a side note.

xfuser4 wrote on the 25 Oct 08 at 07:38
@glotz:

I don't think, that this would lead to the problem, that developers are only writing silly features. For four reasons:

1. Companies can make donations that way, too. But not only Linux distributors but also companies which are *using* Linux. Perhaps this would lead to the point, that we have a less business-oriented desktop, but a more consumer-oriented desktop (what I would really like).

2. There are enough end-users which have enough pain with the current situation and would pay money for features that are not silly.

3. Developers are responsible which job they take - so if they don't like to write silly things, they don't need to. Also the open source projects themselfs can decide which features will be integrated into their next release or not. So there is a filtering.

4. And also I think people won't spend to much money on silly things as long as working on the Linux Desktop has still the painful problems it currently has.

@davagui:

I also don't think, that this interferes with the GPL. In the GNU Manifesto and in the GPL there are explicitly written points telling us, that we can make money with free software.

The idea of my web platform would be, that the software produced there will be still GPL'ed. So the community can use it - but it is also possible for the community to make financial support.

The problem is, that many Linux users can't participate on a project or fix any bugs. For example: there are many things I don't like in Nautilus. I would like to fix them - but I have not the time to go inside the source code. (Even I don't have the time to get inside GTK+ oder GOBject).

One major principle of our society is division of labour: there are experts out there *who* can do this. And I can pay them for this, because I make money with doing a job, where I am an expert in.

But these thing really don't interfere with the ideas of the GPL, as long as the product of the payed programers are still free software. (And as you know, Linus Torvalds get payed for writing Linux - and I just don't want to know how RMS gets the money he need to life...)

At least my opinion is: if we really want to reach people with the idea of free software, if we really want to show them, that sharing of intellectual property is a good thing, we really need to make *really* good free software. And we can only reaching this, if people get payed for writing this.

xfuser4 wrote on the 25 Oct 08 at 07:47
Still another thing about donations. The reason why I don't like donations are:

1. It is not easy to donate. There are lots of projects where I can't donate - even because it is not easy for the developer to make a donation platform.

2. As the end-user I want to know what happens with my donated money. I want to donate it for a certain purpose (like "Fixing file sharing in Nautilus" or "Making suspend-2-ram work with my graphics card").

3. Many users even don't recognize the projects behind Ubuntu. Many students in my year are using Ubuntu. But they even don't realize what GNOME is. They would never visit www.gnome.org - they only would visit www.ubuntu.com. So what we need, is a in-distribution way to donate, because many end-users are more linked to their distributions than to the several projects. (If they are not as geeky as we are...)

4. There are many brainstorm sites and bug tracker out there - but it seems that they will be ignored by the developers. If there is a simple money-based appeal on it, developers would better react on it.

5. The donations are often used for financing meetings or servers - but not for paying the developers. So it might be nice to have money for the next developer meeting - but if a developer should work half-time on an open source project to make it really good, you need money for him. Firefox is as good as it is, because the developers get payed!

5. As a developer who doesn't directly participate on a project, it is hard to get money by donations. Perhaps I know how to fix things in Nautilus, but I'm not inside the project. How can I tell somebody, that I would fix it, if I got pay for it?

xfuser4 wrote on the 25 Oct 08 at 07:49
@tchalvakspam:

Please don't misunderstand me:

I don't want people to pay for downloads. The software it self should be freely available through the old channels.

What I want is, that people can just sponsor a feature, that will be available public.

xfuser4 wrote on the 25 Oct 08 at 07:56
@Deightine

In principle you understood my idea. I see one problem in your design:

The developer needs also some kind of security. If a programer was assigned to a job he should be sure, that he get a part of the money, even if the result is not the thing that people wanted to have. Otherwise it would be too risky to work that way.

Also there should be a restriction on publication: as long as the developer wasn't paied for his job, the product might stay under his copyright. This should prevent people from taking the alpha version without paying the programmer.

At least the programmer needs money during his work. Say, if 60% of the job is done well, the community should be able to give him a part of the money (and from that point the software is free of copyright, so if the developer stops then, somebody else could continue).

The reason for the last point is, that if you working over a long time on a project, you need some kind of motivation during your work. Getting 30% of the promised money would do this (this is just my experience as a developer).

Deightine wrote on the 25 Oct 08 at 08:31
@xfuser4

I totally agree with everything you said, in the principle that it involves proprietary software in some fashion. What I was suggesting works more within how OpenSource already works. Most software is maintained by a stable group, but that group will often accept code from anyone outside if they themselves can verify the code is -good-. Often an OSS programmer is a random guy with a boring dayjob and a love of the operating system.

The idea is to encourage people to code (always a good thing), and then aim them in the direction of the programs that people most want worked on right now. As said by tchalvakspam, a bounty.

In context of a bounty... you offer a reward and whoever hands you what you are after first, gets the prize. My suggestion would turn every single requested feature into a prize contest with registered and community-approved contestants. Basically, you build up a good reputation, you take up the contest, you get approved, you do the code.. and if your reputation was true, you get payed.

This also keeps people competitive and makes them think of the audience. It's a failsafe to prevent lazy coders from supplying the feature asked for, but doing it poorly. Keeps them honest.

I would agree to the idea that no matter how much code is done, the person should be payed... but that would require someone check every line of code ever written in the process to verify it. The turn around would take so long that public opinion couldn't control it... And if that were the case, might as well keep doing things as we are.

Deightine wrote on the 25 Oct 08 at 08:38
Also, as I tend to think of something right after I finish hitting Post...

By running it on a popular vote, the site would run itself. It would only take a staff of 2-3 people to run, manage and promote it. And if it were attached to a non-profit like Ubuntu, that is necessary, because you can't afford to pay 20 full time people to run it as its not making any money itself.

xfuser4 wrote on the 25 Oct 08 at 09:12
I think the principle of such a platform should not be linked to the current process, how open source software is created to day. It should be also open to different development models.

I fully agree to you, that it should be support the current way of development. Giving money to projects that way and giving money to developers who want to improve their operating system at their free time should be possible of course. And for me as a student - this would give me enough money to life from by doing a nice job besides my studies.

However, at first, it would be okay, to start the platform in the way, you said. But whoever realizes such a platform should be aware of the change, that such a platform could make it possible to live from open source software. This point is not as easy, because it has further legal and social implications - but it would be also worth trying it: Mozilla and Apple pays its open source developers, and Firefox and Webkit are great.


However paying the developer during the development process would not as hard, as you mentioned. I think, you don't have to pay him line-by-line. But you could say, that the developer would get 20% for a first alpha release, then 70% for the beta release, then 90% for the final release and 100% two month after finishing (to make sure, that he cares about bugs, that were visible after shipping to the user).

This would have two benefits:

1. The developer gets money while he is working. This improves his motivation.

2. The developer is required to work together with his "employers". It would prevent, that the developer misses the wishes of the employers. And this is good for two reasons: on the one hand, the employers get what they really want - on the other hand, the developer knows during the whole development process, that he does the right thing and that he will get his money.

3. If the developer fails in the beta state (perhaps because the job is to hard for him - or he got an incident), somebody else could take over the project, but the initial work is payed...

Deightine wrote on the 25 Oct 08 at 10:11
That's an awesome thought, xfuser4. Get a domain, lease some server space and get to it. ;)

Getting that sort of thing off the ground would be incredibly intensive for all involved and since it wouldn't support an individual initiative that already exists (Ubuntu in this case), it would need to be completely independent of all other programs. Unless of course, you want to put up the idea on Brainstorm for "Retained minimum-wage developers to support Ubuntu and partner projects" which would be very different and require they dip into the Ubuntu Foundation's fund.

Companies that pay people to work on open source products benefit by the open source products working better with their operating system or hardware; or it helps them get advertising revenue, works on large scale donations, qualifies them for grant money (in some countries), etc, etc. I believe many of the primary developers for Ubuntu (who can feel free to correct me) get payed by Canonical as it is Ubuntu's sponsor. Just as IBM and other companies sponsor developers to work on the Linux Kernel.

But your notation on "the developer would get 20% for a first alpha release, then 70% for the beta release, then 90% for the final release and 100% two month after finishing" is a good idea. I'd definitely add that in with what we have discussed so far, but it would only really benefit a 'New Software' request. It wouldn't support smaller things jobs like "Hey, I want a new button added to Gimp that does ____." that would be a much faster (perhaps a week long), which would gather more money initially from Gimp users that want to see that specific change.

Also, it would allow the developers involved in the program work on smaller pieces of code more frequently, they could survive off of tweaks. Ex: 60 dollars for 3 hours of work on Gimp, 92 dollars for 6 hours on compiz, or the occasional jackpot of 1000 dollars for a 1 hour modification of xmms that everyone has wanted for 5 years but nobody ever bothered with. Programmers would maintain a bank account of sorts with the site and transfer the money out via paypal or bankdrafts, that way they still have to handle the legalities themselves if audited.

xfuser4 wrote on the 25 Oct 08 at 11:00
Well the problem is, that you need somebody, who has a lot of knowledge about financing and laws. I'm not an expert in it - but I think a company like Canonical can hire somebody like this. I can't do this, because I'm a more or less "poor" student who can't take the risks (but I would like to work that way on open source products - so that's the reason I published my idea here).

Also there is another point: the non-geeky Ubuntu-user won't visit ubuntu.com to often. So such a platform would need an integration into the distribution. Something like a "Improve Ubuntu"-Button in the Ubuntu Application menu. And this can be only done by a distributor.

And here is also a chance for the owner of the platform to make some money by charging a small fee, like 1% of the feature's cost. Developers and users would accept this, if the platform cares about any legal and technical issues of the developer and users.

In the end, people tend to give money only to organization they can trust. If I go out to the street and ask somebody for money to improve Linux, he would ignore me. But if Canonical ask officially its users to sponsor features, they will trust them (just because, Canonical is an established company).


To the point about the payment during development: you are right. For a small feature it would be too heavy to split the payment up. I think it should depend on the time estimated by the developer to implement the feature.


Post your comment