Some years ago I somehow ridiculised the radical efforts of the linux fanatics everywhere we discussed any topic, specially when they tried to introduce their love for their operating system on every single occassion - even if it was not a suitable one. It really got on my nerves, and was a kind of "Ok, just don't get near linux, you'll be scared of those freaking nerds". And it was actually true... each time you tried to get any information on linux you got a cascade of non-argued reasons, which didn't help at all; in fact they just served the opposite purpose, to make me avoid open source as much as possible, and just rely on commercial products, while increasing my general confusion about all things linux.
But there was a new actor which was appeared in the scenario, and it was called Firebird - later renamed to Firefox. First time I heard of it, it was the usual dabbadabba from ultralinux fanatics: oh yeah there's a new browser which is open source and it's free and it's supercool because it has tabs and well, it actually is open source and based on netscape's source code...! I felt a chill in my spine. Based in netscape... URGH. I already had had to develop a couple of relatively big websites and I it was kind of a nightmare to have a decent styling on the then omnipresent Netscape 3/4. CSS? WTF? who needs css when you can have inline font declarations?
So I just kept avoiding firefox for a while, until they started their reasonable and human campaign: Take back the web. And they did it well! Why advertise things which are so surreal and ethereal such as open source, ability to access the intimacies of the browser and so on, when what people wanted was to browse any page without playing a hit-or-miss game against the pop ups?
Then it gained value for me. A browser which removed the annoyances and dangers, and could be customised at your will, and even more - which was reliable: you put some standard css and it worked. End of the story: it works. Somehow one can think it is the same idea that was used for advertising macs: they simply work.
Moral implications come later, just by the sole fact of being remotely involved with the community. Any open source software community will do, even a very small one. Using the software, getting in touch with developers, submitting bug reports, suggestions, even contributing with more code or documentation... makes you feel like you're kind of giving back something of what you have received for free (Note: I know there are also stupid coders which won't care about how many bugs you submit and won't accept any suggestion or fix anyway. Yes there are idiots everywhere - I suppose it's inherent to human nature).
It also makes you aware of the implications of closed software. What if that program which you absolutely need gets discontinued and there's a hidden bug which appears next year, and there's no one which can fix it, and you don't have a way of migrating your data to a new program? Cry.
With open source, it is different. Not in the sense that even your six year old niece could fix the funky, although buggy, Tux-goes-to-snowland game, but it means that maybe someone which is interested enough can do it. Or maybe you can pay him/her for doing it. But at least there's one way out; you're not trapped.
And that is my point: if you/we want people to move to opensource products, we have to use real reasons. Do not talk about religious like premises, they won't work. People want value, not airy sentences without any immediate effect on their pockets or timetables. Show them Firefox, Thunderbird, Ubuntu, Open Office, Gaim, Blender, Python, PHP, Apache, Ruby, Rails, MySQL, gcc, wordpress... and then they will get convinced. Now about giving back to the community... I have been thinking about it thoroughly: there are thousands of companies making money of open source software without donating a single dollar back for it. But I came to one conclusion: if they don't give a buck for free software, they won't give it either for commercial, non-free software. They will copy it illegally as well... amoral people are not stopped by laws however.
It's quite funny how they try to protect themselves from the GPL implications. I have seen quite a lot of project managers and company directors feverishly studying the GPL to find out how can they avoid to distribute the source code of their applications based on GPL software, while not having to adhere to a commercial license (and hence having to pay).
For example, they are particularly obsessed with MySQL licensing. MySQL comes in two license flavours, one is the GPL which makes you distribute the sources of the application you build using MySQL, and the commercial one, which allows you to not to distribute anything, if you pay. So there are those avaricious and greedy executives which are going to save the value of an Oracle or MSSQL server license (which is not little amount) and don't even want to donate a ridiculous amount for allowing the coders to have some beers. They will justify that they do not distribute the application - but install it in their private servers, hence it is not distributing anything. Miserable wankers! Sometimes I really would like the judges to take more seriously the GPL and give all these people a good lesson.
Even though, I'm very optimistic about all of this open source scene. Now that we have learnt the lesson, more useful products are being developed with higher quality standards than commercial software. A simple comparison ridiculises commercial software: compare bloated internet explorer 7, after more than 5 years of what they call "development" and still can't support main CSS features which other open source browsers such as Firefox or Safari do support since more than one year ago. Want more? Compare Ubuntu with Windows, for instance.
Also, it's not only about individuals, companies seem to have changed their approach too. See macromedia/adobe with their new Flash 9 open source compilers and IDEs, for example. All of this looks very promising. Maybe it's just that open source is getting really mature and it's ready for invading every single electronic device on Earth. Maybe it's just us becoming adults and aware of what we do with computers.
But there's still quite a lot of work to do: lots of these programs need a good rework on interfacing and documentation, otherwise they are unusable and obscure. Lots more are ego-pumping projects for their developers, which didn't work as they expected and so are abandoned. Same occurs for the projects which just duplicate the functionalities of another one, but do not add anything new - for example, CMS software. Do not misunderstand me: I'm all for people writing whatever code they want, but it's stupid to start yet-another-CMS-for-LAMP when there are lots of them which are not even finished. What those projects need is a bit of collaboration between individuals so as to conquer more than one small sandhill, and reach the peak of a big mountain instead.
And we all can contribute to it! Long life open source!