Author
Topic: Paid Development in Open Source (Read 6013 times)

First, I want to express my gratitude to the developers working to make LinuxMCE as good as it possibly can be. I also want to point out that I have and will continue to make my contributions both in the form of documentation on the wiki and monetary contributions in the future. That said, I am disappointed to see the trend of paid development going on within LMCE recently. I don't see paid development as being in the spirit of open source and am afraid it will end up hindering the development in the near future. I am curious how other members of the community feel about it. I'd like to see the community and developers come up with a better way to get specific devices supported. Personally, I think the first step is getting remote assistance working so that developers don't even need to have the device in most cases, just a user to support development.

You do know, that OSS is first and foremost not a price tag, don't you?

I develop stuff I care about.

People proposed giving me an iPod Touch so I could better work on the iOrbiter. I declined. The reason: Simple. If I would take the iPod Touch, I would be obliged to do the iOrbiter. But I do the iOrbiter (just as an example), because it is fun, and every now and then, I feel like working on it.

Other developers do see it differently, and accept moneytary donation to get things done. This is fine with me, as long as it is what they want. Nobody on the people doing development for LinuxMCE is getting rich. Most of the endless hours are spend working on the software to make it better, to bring it forward without a penny.

However, if someone does want a very specific feature, the person has the choice. Either, dive in, and do it yourself, or, coerce one developer into thinking it is good for him/her to do it, or three: Make some donations to get things done. But you know what: What ever way you choose, it stay Open Source Software. Open in the sense of speech. And that's what it is all about, imho.

You do know, that OSS is first and foremost not a price tag, don't you?

I develop stuff I care about.

People proposed giving me an iPod Touch so I could better work on the iOrbiter. I declined. The reason: Simple. If I would take the iPod Touch, I would be obliged to do the iOrbiter. But I do the iOrbiter (just as an example), because it is fun, and every now and then, I feel like working on it.

Other developers do see it differently, and accept moneytary donation to get things done. This is fine with me, as long as it is what they want. Nobody on the people doing development for LinuxMCE is getting rich. Most of the endless hours are spend working on the software to make it better, to bring it forward without a penny.

However, if someone does want a very specific feature, the person has the choice. Either, dive in, and do it yourself, or, coerce one developer into thinking it is good for him/her to do it, or three: Make some donations to get things done. But you know what: What ever way you choose, it stay Open Source Software. Open in the sense of speech. And that's what it is all about, imho.

Here here. I still think that a central fund would speed development along, as it would help the macro-development along, as opposed to independent features. I would also be more than willing to donate, but as I currently have little knowledge of what I want in specific features,only I just want LMCE to be better than it is (small things, like bits of the UI, etc), and as my knowledge of coding is up there with Paris Hilton's knowledge quantum entanglement, I can't do it; SO, having a general fund for those little projects I think would help. Obviously it should be donations, and not payment. The money would cover equipment, software, hardware etc.

There's nothing wrong with paying for specific OSS work... and it is far from uncommon out there. The fact is, if there was sufficient interest in a specific piece of work from those that have the capabilities, it would get done for free anyway (and the vast majority of LMCE work gets done this way).

BUT for those pieces of work for which the priority is not high for those capable of doing the work, the reality is that either it will not get done, or we need to offer an incentive for it to get done. It allows a pressure relief that non-developers can press, if they are interested enough - only this way in a world were either the number of developers is not infinite and/or not every user is a capable developer, can there be some level of service delivery to non-developer's interests!

You can rest assured that most work will still be carried out gratis because most of it is essential to everyone, including the developers. And this ultimately is a market-driven concept... the more developers we attract to the project, the less need for paid development work there will be. Conversely, the more users that get themselves to a point that they can develop for themselves, the more they can service their own needs.

Moral of the story - financial contributions for work will only be necessary for non-essential/core work, which will hopefully reduce over time, and this reduction will be assisted by all of us (devs and non-devs) encouraging as many new devs to join the team as possible.... so go find some more devs!

This is the way will all software, at least those projects I have been associated with, if I need something customized then I pay someone to do the customizing. I have no problem if a small group want to have something specific done then they donate to pay a developer to do it. As colinjones said, the vast majority of opensource is done gratis because the developer(s) enjoy it or want something that is not there at the time and then contribute it back to the community. (if you read the GPL it states that paying for customizing or adding to existing software is ok) I for one will continue to donate to those projects that I use the most and even contribute to have customizations done that I need.

Since I have been a member of the forums I have seen posts about donating and about a Store with LMCE compatible products. I believe both of these can be accumplished by setting up a Amazon Associates Astore. When people buy from the store the community would recieve 5-15% of the purchase price at no cost to the buyer (Win-Win!!). They come in a number of shapes and sizes from a search window to a direct link to a product. the Hardware WIKI pages could be linked in such a way to generate community income.

We would need to set one up from each of the Amazon sites - UK, US, Germany

My site (www.techstyleuk.co.uk) has links to Amazon.co.uk pages and I recieve income from them whether the buyer buys one of my products or somebody elses products.

There is definitely some good discussion going on here and I fully agree with funds being setup for specific tasks to get the attention of developers. I think Techstyle is on the right track, I know a store has been discussed for quite awhile now and am also fully aware that there are licensing issues with it. It seems logical that by making purchases from the LinuxMCE store instead of other outlets that we are helping the community. Collinjones also has raised some good points about proper planning for the proposed system. Perhaps an easier way to get such a store started is to only sell products that are 100% plug and play and known to have no issues with LinuxMCE. With this approach we aren't branding or advertising them in such a way to breach the license Pluto has on the software. In my mind this would also help solve issues with the wiki since buyers would need a source to assist any issues with install seperate of the LinuxMCE Store. Over the longer term it may become feasible to work with the Pluto license to officially sell preconfigured and prebuilt packages. So we accomplish three goals with this system:

Those are basically my thoughts, I want to stress that I don't think paid development should stop, but that I think it can happen in such a way to benefit the entire community instead of individual agendas.

I think that the general contribution idea would be nice and I would like to see a bulk of it go to supporting a working out of the box MD. I know one of the beauties of LMCE is that with some work it can run on a huge variety of hardware... but it would be nice to pay a dev, and donate the hardware to him/her and have it fully supported. That way if someone does come here and want to set up LMCE from scratch we can say "buy this MD and its easy as pie". Or for someone like me who has a working system but plans to upgrade a few MD's it would be nice to have an option that I know works and has been confirmed to play at 1080, or 720 with ui2 overlay etc. For example I would say the Asus EEE B202 would be a great "LinuxMCE friendly" piece of hardware. It is small enough to mount to the back of a TV. Supposedly can handle UI2 and 720p etc... but it still requires configuring. I would imagine that the right person could make it fully Pnp in about 20min. Now we use a link like discussed above and anytime someone buys one of these from the link, LMCE general fund gets paid. Everyone is happy and all of a sudden LMCE is more user friendly.

I think the IDEA of open source is a noble and lofty concept, BUT. I would, have and will continue to pay for support/development. Open source is cool, but has anybody noticed that LMCE hardware support seems to be predominantly EOL products? This is by no fault of anybody, it's just the nature of opensource. When you're relying on people's free time and/or interest level for development, development will be slower. Combine that with the fact that hardware vendors aren't going to be as fourthcoming to a Linux market with specifications and driver support as there isn't enough money in it for them.

It's an attractive concept to think that a group of interested people can get together and donate their time and resources to develop a quality product. LMCE is a testament to that. However, I believe that opensource will only take you to a certain point (LMCE is also a testament to that).

I know Linux/Unix people love to bash MS and other companies that make money but it's undeniable that when a new piece of hardware comes out, it will hit the shelf with Windows support. Hardware vendors know they have to or they won't make money and don't kid yourselves children, making money is what it's all about. Nvidia doesn't sit around and say "Our new card will make gamers so happy!" they say "We will sell the shit outta these things." And I don't mind that at all. If someone has or can provide something I want, I'm happy to pay them for it. I certainly don't work for free, why should they?

I for one wholeheartedly support paid development. I would actually support making LMCE a commercial product. I'd rather pay $1500 for the product and be assured that my new hardware will be supported than have to scrounge around ebay looking for old equipment that works. (God I'd love to be able to buy a brand new webpad, it pisses me off to no end that I've got a used one sitting on my table.)

The undeniable fact is that money gets shit done. I don't care what it is, sex, your lawn, whatever it is, you'll get it faster and usually better if you pay for it.

People, (including you) are paying people like me, to add support for things they want support for. This is good. It pays my rent, it allows me to work on something I enjoy doing, and it gives everybody a supportable product.

But you are also SERIOUSLY oversimplifying the fact that it takes us A LONG TIME to do a release! *thwap-you-on-the-head* don't do that.

Understand that _EVEN WITHOUT_ proper driver support, with certain devices, it is relatively easy to reverse-engineer support for them, given either the right equipment, or a clever enough understanding of how to do it without the equipment. Really, it comes down to leg work. Why was I able to do proper support for the 3101 Gyration remote? Because I buckled down, and did it, and did it without duct tape. Why didn't anyone else do it? That is MY question, because ANY OTHER DEVELOPER could have been able to do the work. _THIS_ is what I am pissed about, because I am _NOT_ God's gift to programmers (so many tend to think they are), I do it because I want to SEE this stuff EXIST.

I know you're still somewhat new to the concept, and I can understand the oversimplications, but the truth isn't quite so black and white.

dale_k, you seem to be basing your arguments on an assumption that hardware manufacturers are paid directly to support one platform or another, which is rarely the case (ie microsoft does not pay a hardware manufacturer to write drivers for windows). each platform has an associated developement cost for them to support it, and they base their decisions on what platforms have the market penetration to make their time worthwhile (as in number of units sold in that market segment). so it is a matter of market penetration, not direct monetary compensation.I think sponsored open source developement provdes a great way to get around this limitation even for hardware drivers, but it takes copperation from the manufacturers. for other general software like LinuxMCE it is a proven model that works well in the real world.

As an opensource project, the people that have the knowledge to develop support for that remote including yourself, don't do it, not out of any nefarious reason, just circumstance. You don't happen to use that remote so it's not priority, you're working on something else that has more importance to you, etc. For whatever perfectly legitimate reason, it doesn't get done.

Now, as soon as it becomes a situation of monetary compensation the function of that remote moves up the importance scale. I'm not saying that's a bad thing or that you're a bad person. In my opinion if you posess a skill that others don't then they should pay you to use it. I'm saying that "money gets shit done". That's why I pay for development and will continue to do so. Because I want the things important to me to get higher priority.

The original topic of this thread was an inquiry into opinion on the appropriateness of paying for development. My post and this reply demonstrates that development progresses faster if it's paid for. As in our example, I guarantee that if people like myself HADN'T donated money, there would still be no development on that remote. Again, no bad reflection on you or any of the developers on this project. All of you have a lot to do and you're doing it as an aside to your own daily lives, so it's expected to have slower than commercial development.

But, answer me this, if LMCE were a retail product and it's sales provided enough income that the core developers on the project made a living equal to or better than they currently make, would the development be faster and more hardware supported? I'm very confident, yes.

I'm not saying one way is better, they're just different, commercial = better/faster support/development, open source = more flexible and cheaper.

The simple fact is that there is NO way in HELL that a single commercial entity could produce a piece of software, this large, and monolithically support it.

Pluto tried.

Pluto died.

It has taken a community of people to be able to continue development, to be able to develop the pieces that Pluto simply did not have the ability to, for a variety of reasons, including that certain features got lower priority due to pressure from investors, etc.

And I can tell you've never done any software development. In any project, open or commercial, the first 60% gets implemented quickly. The problem is, the last 20% are on the upper swing of an asympyotic scale.

Read that last sentence again.

The amount of time to fill in what is considered the last finishing details is the absolute killer for any project, because you're also debugging during this time, and having to support others during this point. It makes NO difference whether the project is commercial or not. The only difference lies in the prioritization. You may think things are progressing faster if YOUR features are being worked on, but what about SOMEONE ELSE'S features?