Even as open source has become big business, some of the world's most popular open-source projects remain labors of love for a growing body of developers. Such developers invest years of their lives writing code and fielding complaints from free riders, and they actually seem to like it.
Or love it, in the case of the lead …

COMMENTS

Page:

I gave money!

My new year's resolution was to give some money to free software that I use. So I gave 50 euros to VLC. I wanted to give money to "Handbrake", that I use to rip my son's DVDs to put them on a mobile video player, but they don't accept donations.

support ffmpeg instead

Donate to/support the ffmpeg project. Both VLC and Handbrake are simply GUI frontends to it (ok, VLC has the streaming and such, but playback is handled by ffmpeg), as are many other programs. See http://en.wikipedia.org/wiki/FFmpeg#Projects_using_FFmpeg

Enterprise Service?

morals

if companies had more, then they'd donate time and/or money. Most don't so they don't!

I like it when EFF catches out companies using modified GPL code without releasing source code and they get their name dragged through the mud and courts. Brings a smile to my face. OFC that's a separate issue to free commercial use of unmodified code - which is perfectly acceptable.

better way

I like it even more when companies dragged kicking and screaming into free software license compliance through these enforcement efforts learn that actively contributing changes upstream when these changes are developed and long before these are distributed, results in feedback which improves the quality, maintainability and cost effectiveness of these changes.

Yes, enforcement is needed, but only in relation to the less smart distributors.

I gather Red Hat makes much of its money by helping other companies outsource this work. They have become one of the largest contributors (based on lines of code) to Linux kernels.

Enterprises unable to pay

Gangsta,

My experience is that large businesses are unable to pay licensing fees while there is an option to not pay licensing fees.

For several years the company I work for has been the primary developers on a F&OSS project and we hoped to raise money the way you describe - but whilst 'small' companies purchased licenses, and individuals who wanted to help the project purchased licenses, enterprises were quite frank with us that their accounting rules prevent them from purchasing licenses. I think the argument goes something like this: 'we have an obligation to our shareholders, and if a shareholder saw we are paying for something that we have no legal requirement to pay for - well we're toast'.

This is a short-sighted view to be sure, and doesn't really address total cost of ownership - but after 6 years of this we eventually decided that the problem wasn't going to go away.

This also explains why MySQL was always dual licensed - it very neatly 'required' enterprises to license it if they didn't want to GPL the applications they were writing that were linked to the mysqlclient.so.

Scratching an itch

Last (and first to date) FOSS work was adding support for my NAS (WD Sharepace, piece of ****) to the mainline linux kernel, so I could put some reasonably modern software on it.

Of course I haven't submitted back upstream yet....

The other thing I wanted to say is that with projects like VLC and Adblock, the commercial-free nature is essential. It wouldn't take much for people to start migrating away if ads started appearing, or crapware like browser bars.

I wondered how long

The only reason I can think of

why anyone would want to "sponsor" something like AdBlock is so they can organise for their own ads not to be blocked, or for them to be inserted elsewhere in the browser. There's simply no other way you could monetise AdBlock's audience. For any sponsor to make money, AdBlock's universality has to be compromised.

Cue the entrance of a plethora of commercially sponsored AdBlocks, each one of which blocks everybody else's adverts except their own.

RE: The only reason I can think of

And there's the reason it could never work.

IF ABP started showing selected adds, or installing other "stuff" alongside itself, someone would just fork the project and everyone would walk away leaving the investors with nothing to show for their money.

Google Page Rank for "<YourNameHere>" pages

The collaborative motive

I think all of this was best summed up by the 'Stone Soup' fable that used to be part of the documentation for Fractint. People achieve more together than apart.

Now it has been some years since I released code under the GPL but my motive whenever I did was to (unknowingly) get more value out of the work I'd put in. I had spent a couple of days solving a problem that I knew other people would need to solve as well. Why should they waste their time when a solution existed? And, of course, I got the chance to pay back something for all the GPL code I was using.

Look at Wikipedia. For all the lies, self-agrandisment, turf wars, and us tv series it is infected with, the core content is fantastically useful, and has been contributed to make the world a better place. I love where I live, and want to share that pleasure with other folk, so I freely give my photos to Geograph. No individual photo is worth anything to me, I still have it to look at. But together everyone's pictures becomes a special thing.

It seems to me that this is a very old idea. Mathematicians have usually been sponsored in one way or another, but their researches have been given away freely to benefit us all. The output did not become the private property of anyone.

In the 20th century people started keeping algorithms secret, proprietory. In the 21st century the trend continues. The world is a worse place fr it.

Not sure that applies

>It seems to me that this is a very old idea. Mathematicians have usually been sponsored in one way or another, but their researches have been given away freely to benefit us all. The output did not become the private property of anyone

But the world has/needs fewer mathematicians than programmers. Scrabbling around for funding is bad enough when there's only a few thousand people fighting for it (and even then it wastes time better spent on thinking). But there's millions of programmers around the world and we pretty much need them all. That's a whole different ball game.

As another commentator posted:If you're so keen on the idea then ask your employer to stop paying you. Try and find alternative funding and see how far that gets you.

Title

"Mathematicians have usually been sponsored in one way or another, but their researches have been given away freely to benefit us all."

If you think that every programmer should be someone that performs mathematical research then you must be mad. Where maths is concerned programmers use other people's work. There's nothing to give away in that respect. What we create are programs and that's where you have to compare the two systems:

There's very few people can do theoretical maths research so a grants/sponsorship system mostly works.

There's millions of people that can write computer programs so grants/sponsorship is going to fail.

As for programmers needing to be good at maths:No. Not really. Not any more. That's for low level work and most programming these days doesn't need it. You have to understand basic logic and you have to be able to do rough calculations so you can spot gross mistakes. Some ability to spot patterns relating from bit masks and 'powers of two' arithmetic is nice if you're doing really low-level work but that's a minority area.

For most programming tasks basic maths is more than good enough. I'm not even sure you can call it 'maths'. Does the ability to understand AND, OR and NOT count as maths? I suppose it does but if you think you can get sponsorship because you understand it you're in for a shock. If you think that understanding it is enough to let you program today's systems then you're in for an even bigger shock.

Most working folk who love their job ...

Did you read page two?

Matt even says himself that paid devs often get deeper into core issures and know the code better -- because they have more time to do it. I've been paid to work on open source software, and have worked on it in my spare time, and, well, it's quite logical really: if you work 8-hour days to put food on your table, and prefer to get some time off to eat, sleep, walk the dog, have dinner with your girlfriend etc., then that leaves maybe 2 hours a day for non-paid coding, maybe you can catch 8 hours in the weekend. If you don't have kids. So free software devs either spend less time on free software development than their job, or they get paid to develop free software (or get money in some other ways, like student grants or whatever).

At the moment, my day job is non-free development, so I don't spend more time on it than I have to. But I know from earlier, paid free software projects, that I've spend way more time than I had to on those projects. It's just more fun, more social, gives you more meaning in life.

Sad person

"It's just more fun, more social, gives you more meaning in life."

If you're lacking all these things, I feel sorry for you. You need a better day job. And you also need a life, because then you'll get the fun and the social that other people enjoy without having to sit in front of a screen finding memory leaks.

I work for money

contributor here

I submit bug reports and occasionally patches to FOSS projects. The bug reports not so much as the patches give me an awesome sense of pride. Bug reports are my good deed for the day. Patches are my good deed for the month ;)

It's not my sole reason for helping but the feel good factor definitely helps!

VLC

Supports my knowledge business - also worth doing for its own sake

Teachers won't know as much unless willing to practice what we teach. Knowledge about how to do computing science and software engineering is what I sell. Tax payers and fee-paying students who pay my salary morally shouldn't have to pay twice to access the benefits of my work.

Having additional motivation in relation to a project being worth doing for its own sake also helps greatly and this was certainly the primary mover in my case.

My PyLETS program currently supports communities of individuals who trade on their own local currencies. Without a more significant role for community currencies (CC) I really can't see the third sector (i.e. the voluntary/charitable and micro-business, non-government community economic sector) ever becoming sustainably independent of unreliably temporary tax-funded public project based handouts. Advanced societies need to face up to the realities of either having an expanding third sector or suffering massive and permanent structural unemployment.

(Those who dislike the excessive dependence of third sector employment on nanny state handouts and who get the reasons for the Big Society project so want this to work in practice, in preference to giving good reasons why it will inevitably fail please take notice.)

Current plans potentially requiring additional contributions include packaging PyLETS so it becomes a Debian/Ubuntu/Fedora package, making this accessible to a wider group of potential CC system administrators.

MPC-HC or XMBC > VLC

Seriously. VLC is pretty bad at a lot of stuff. Video output is in the wrong colourspace by default and you have to go into the options and fiddle with the renderer to get it right. It's lack of options for using external filters is also very poor.

My choice for free and open source is MPC-Home Cinema. It's GUI is very basic but the devil is in the detail. A combination of correct playback (EVR-Sync is great if you want 24P playback to an HDTV with accurate vsync) and simple default settings for those that can't or won't mess with the settings is what makes this the 'defacto' player. Yes I know there are other options for HTPC setups like XMBC which serves a different purpose. But I'd take MPC-HC over VLC any day of the week.

How to have your cake and eat it

I've sometimes wondered whether there'd be an argument for having a set of public Ad standards, that dictate whether they are blocked by ad-block or not.

By that I mean an openly debatable set of standards about how ads behave and present themselves. If an Ad doesn't try and install any dodgy scripts / cookies, is under a certain file size, doesn't flash, doesn't use Flash doesnt pop out / up etc., then it gets allowed through.

At the same time you could have a system where Adblock asks users (in a non obtrusive manner), for each new site they visit, whether they want to support that site by allowing adverts from the whitelist to display.

There'd then be an opportunity for an Adblock affiliated company to have online ads submitted to them for approval to get on the whitelist, at a small fee to the advertisers of course.

Seems like that would keep everyone happy by getting rid of intrusive web advertising, and yet still allow users to support sites that they like, and get free content (no need for paywalls).

title

haha, that would be nice. Google ads I can deal with.. as far as I know they're based on page content and not tracking me? Since the big version 10 update, flash seems to be awfully resource hungry in FF, it's improve a little but it's still a real pig, actually the main reason I went and got ABP. Ads that cover up a page will often make me leave and never return.

Simple static images are fair enough (provided they aren't too scantily clad, snorg tees I'm looking at you.. honestly I'm paying more attention to the model than the product, so you lose).

But El Reg has some pretty abysmal ads at times, although I do have this site white listed in ABP, most of the time at least.

There's only one way to find out

How about you? Why do you contribute to open-source projects? And how do you contribute?

I contribute for many reasons.

Firstly, I've used so much freeware and open-source software in my professional and personal lives and it's invariably saved my butt. Whether that was saving several hundred pounds on buying a nice firewall/router/filesharing combination, or giving me a recovery OS to recover data and programs from dying machines, or just giving me a decent non-destructive DOS partitioning tool (back in the days of DOS 5), or letting me re-use old machines to do things I needed to do, right through to hand-stitching AD domains back together in the middle of a critical downtime, saving schools thousands on software that does exactly the same as the freeware/OS equivalent (and not even in the "Office" realm, but just silly stuff like TuxPaint and Irfanview), etc.etc.etc.

Because of that, I find that freeware and OS software often fills needs that others don't and there's *always* a utility somewhere to do what you need. So I automatically seek out and (almost always) find free and OS software first when I have a job that needs doing. Sometimes that finds a gap in the market that, although covered by commercial software, isn't adequately filled by free software. If I got that far in looking, so have others and it's in the IT guy's nature to share wisdom and tools when someone is desperate for a solution (The "John, have you ever had this problem..." phone call), so I've ended up giving away scripts and little programs that I've later found companies charging for equivalents.

As a programmer myself, it's also inherently more likely that when a problem presents itself I will want to know the cause. This has lead to me finding and diagnosing bugs and publishing solutions and patches for commercial software before the authors even knew the bugs existed. I've even been thanked by several companies for fixing things that they wouldn't have been able to track down without buying an expensive education-specific network from a particular supplier to test on. My solutions are always free to those that I feel are trying to fix a problem. I know they are just "stealing" my work, so to speak, but I don't care. My own personal itch was fixed and it's just nice to share that with everyone (I never share with *just* the company in question, or they might just sit on the bug - the Internet makes it easier to share with the world than the one guy next door)

But obviously, because of all that, I have a lot of OS software deployed and bugs also crop up in that, so if I do the same diagnosis to fix my internal problems, it's easy for me to patch it and then sending that information to the authors is "contributing" to OS software too even if they decide to rewrite it, or fix it another way, or do nothing about it (I was using a patch that someone made to fix VLC hotkeys long before it ever made it into the program's codebase).

And then, occasionally, I happen to find these gaps in the "market" (even if it's just a tiny conversion utility, or a set of instructions, or a free equivalent of something else), fill them and lots of people then use my solution, extend it, etc. Hey presto, an OS project.

And sometimes I just like to program for fun. An awful lot of programmers don't get this, especially those who focus on business programming. It's an intellectual challenge that actually has a productive result. Anyone can do a sudoku in their lunch hour and doing more sudokus just makes you better at sudoku. But if you start even the simplest of programming projects, your mind will be taxed from all angles and you'll never meet exactly the same problem twice. And every problem, and every solution found, make you a better programmer because you avoid those mistakes in the future, learn new techniques, etc.

When I was a kid, programming was fun - it's what made computers interesting rather than just games machines. All my friends had Gameboys, etc. but nobody was writing their own games, in the middle of maths class, that could run on a calculator - a dozen people bought the same calculator as me just so they could run the games I was writing. When I went through uni, I learned lots of algorithms and how to analyse them, and lots of new techniques, so programming was still fun. Now I've grown up, programming is still almost always fun.

If I see a game I like, I try to make my "own" version of it - whether to work out how it works, or to make a cheaper version, or just to fix their own inherent bugs. If I think of a new idea, I try to implement it myself. If I think that a particular game would go really well on a certain handheld, I'll port it. And inevitably that code eventually makes it online in some form and people work from it to make bigger games, more games and more ports.

OS software is the Seti@Home of programming. All the idle downtime of the human race can be put towards improving something and achieving something tangible and practical. Sometimes it leads to an answer, sometimes it doesn't, and sometimes the project itself is outshone by a particularly enthusiastic contributor. But every little minute I put into programming something means a slightly greater chance of helping someone, somewhere to do something they want to do - whether that's just me opening a particular file, or someone on the other side of the world being able to use a piece of my software to help run their schools.

It "costs" me nothing except my idle time, and I get enough out of it that my idle time feels "well-spent", and as a side-effect other people sometimes benefit too. Now you'll excuse me, I'm actually working on a rather interesting little problem with Hylafax and trying to craft a filter to stop my school from spamming their suppliers when they make a mistake when sending a fax. It's actually lunchtime here, but I won't rest until I have that problem sorted - and yet nobody but me really *cares* about that problem, to my knowledge.

tl;dr

It's fun!

Oh I get that programming is fun. It was fun in the 80s when I was learning it and it's still mostly fun now. It's certainly the best part of my 'programming' job these days. Beats the hell out of meetings, testing and documentation that's for sure :)

The point is I don't want to be a programmer all my life. I have other goals now. I particularly don't want to be wasting my free time programming. I've learnt there are more important things in life than stupid, irritating computers.

I'VE GROWN UP.

So now I only program computers for a living. It'd be nice if it was fun but seriously - how many people even like their jobs let alone consider them fun? There's more drudge work around than fun stuff and the drudge work has to get done. The only way anyone is going to do it is if you pay them. No-one grapples with the bizarre world of MAPI or MS SQL databases because it's fun.

So fine - maybe one day I'll go back to tinkering with a bit of home programming. But I'm not going to bust my balls solving world shattering problems. I'll want something gentle, something more akin to a hobby. It's unlikely anyone will pay for my output.

How do you drag 'The Big Society' into this?

Open source is genuine voluntary activity, not coerced by central government, not aligned to one political party, and not drinking from the same vat of FlavorAid as our witless political and media class.

Well yes

>Open source is genuine voluntary activity

And long may it continue. But unfortunately volunteers aren't that common. Most people are motivated by rewards. And they have to be material rewards rather than random praise or admiration from strangers.

I absolutely approve of Open source. I think that if people want to work 'for free' then fair enough. I object when people start to suggest that's how all software should be written.

Why have I contributed to OSS?

Because it solves bugs I find. No software is free from bugs, with OSS I have the opportunity sometimes to do something about ones which annoy me. Having found and fixed them, I submit patches back upstream so that hopefully the next version I download won't require me to do the same thing again. Or the same sort of thing with features I want.

Yes, it's selfish, but then almost everything worthwhile has been done because a person said "I want it". In the case of OSS my selfish "I don't want that bug" benefits everyone else as well (and their selfish introduction of new features they want benefits me). It's why I don't work on things like VLC and OpenOffice, they already work as well as I need them to, but I do on other products which I need.

As far as my own software is concerned I release that as OSS because I'm not interested in the cost of monetising it. If someone paid me a quid for something then I'd have to do receipts, tax returns and all that stuff which would cost me far more in time, so I just let it go free. If someone likes it and wants to tell me, that's fine. If they find a bug and fix it and send me the details, that's great, that's the sort of reward I like. If they don't like it and decide to use something else or write their own, on the other hand, it's no skin off my nose (and if, as has happened, they write and say "Your software inspired me to do the same thing another way", well, that's still nice to hear).

This isn't new.

People used to do this sort of thing way back at the start of spare-bedroom coding, except it was lawyer-free and we called it Public Domain. Some used to put riders on the PD statement ZIPed in with the application, my favorite being the one that forbade any and all use by The Forces Of Law And Order, including the military.

I suspect that the "sellers out" are just expressing a need to eat, rather than a preference for capitalism. If they could afford it, who wouldn't prefer to write code because it's beautiful, elegant, useful, or plain old cool, instead of sundry ways of rendering people redundant so some pointy-haired fuckwit can trouser a bit more dosh, or patent a rounder wheel?

OK...

So paying people for work which they enjoy doing is a win-win situation.

And being paid to do good work is no more evil than doing it for its own sake, except that the worker gets to eat regularly.

And if the product of one's work belongs to a publicly owned company, then the value of the work is not in the work itself but in the "value" a daytrade-dominated market puts on the company as a whole based on predictions of future balance sheets, removing any carrot and loosing most of the stick for those in the trenches.

I'm still waiting for the epiphany this article seems to want me to have.

A tale of toolbars.

I worked for a while for an open source consultancy doing paid fixes and system integration and so on. I forgot how much work I did inside or outside company hours on things that weren't directly paid for. It did happen we had something we didn't commit right away if we knew someone could be wheedled to pay us for the feature though most anything we sold we'd commit later anyway. It also meant going to developer meetings and such.

At such a developer conference, a couple smooth guys were promising us hundreds of millions of revenue from "search" from their toolbar, based on projected installed base numbers. So, donning my project contributor hat, we talked a bit about it.

I figured we couldn't just snap a browser toolbar into our installer, as it made no sense for the application. One of the things that makes open source go is the trust of the users as well as the developers. If you go down that route you risk "selling out" and alienating a lot of people. And since the primary motivator is something else than money, trading this for that risks throwing the child out with the bath water. I mean, I could see the headlines on slashdot already.

So, I told them this and laid out the requirements I figured the project, its developers, and its users would need to see met: We'd love to deliver "search" if that in some way was connected with what the app did. We'd happily integrate it right into the app too; there was a project underway --incidentally presented at the same conference-- to not just index the media files the app played but also automatically fetch metadata and present it in an app-specific way, with various filters available for integrating various sources. We could easily have redirected the ensuing "search" streams to their servers for them to broker around and do that with the user's consent and provide a superior user experience from that, and get paid some kickbacks for it to boot. Win-win, I thought.

But they apparently couldn't deal with that. All they wanted was for us to include a browser toolbar into our installer that wouldn't otherwise connect to our app at all. Branded to us, sure, but no app integration, nothing to provide our users with that extra value that they come looking for. Given how we had quite the loyal user base, and geez, we're in it for our enjoyment too, not for feeling dirty about selling out our users, we weren't about to simply trade that for monies. Not even a million, nevermind the hundred million yearly promised.

So yeah, that was a bit of a fizzle. Maybe I misunderstood how this "search" bandwagoneering worked --they were a "search" broker claiming contacts with every major search engine; this was when bing was throwing bribes around and hadn't yet borged yahoo-- but as an open source contributor I would hate to see our open source hijacked for that sort of politics at the cost of our users no longer trusting our installers to not also come with the likes of bonzi buddy and whatever else you don't like on your machine. Maybe this is a huge missed chance. But I don't really care. Money isn't everything, you know.

the lead developers ... both of which I interviewed recently

warm fuzzy feeling

super article.

So many formally useful programs I no longer use since they've become cluttered with "crap ware" (love that phrase), remember Nero? mutorrent is supposedly f*kd now (sticking with an older version), demon tools is dead, AVG is a bloated pile. VLC and ABP are still must-haves for me, spybot is nice to have too. My poor brain can't really imagine how they might monetise these projects without quality going south, but if they can, good stuff.

The way I see it, somewhat naively, people need to learn to be smarter and nicer. I expect most companies could improve productivity by using FF and ABP purely by reducing page load time (and hence employee stress levels), this is the smart part. These companies should then put some of their increased profit back into the tools that helped them.