Last days I spent a lot of time with .NET developers, I spent many hours chatting with my friend’s boyfriend – always arguing about differences between Open Source model and “Closed Source” model of coding. There was no doubt that the decision is far more important than just choosing if you sell or give your work. This choice determinates the way you work, learn, teach, earn money, live (?). Both models have their pros and cons, I’m devoted to Open Source, they’re not (even they really appreciate it). I was wondering what’s the real difference and if there is any. A difference that would make my choice anyhow “better” than their choice.
First thing I see is that all of them are sure that they understand the reasons behind Open Source, and all of them are wrong. They often repeat that “I’m young and enthusiastic” and they were the same many years ago. Well, it doesn’t answer why Novell, IBM or Nokia plays in our game. They all greatly underestimate the power of something that Asiego called “having fun of what you’re doing” – no, not some slogan, a real, great, fun. They’re all a bit blind – they see coding just as a method to get money, nothing more. They might like it or not, but, from what they’re saying, they wouldn’t code if they couldn’t get money for this – so it’s something completly different from most Open Source movement!!! And it’s a huge difference. Second thing is that they can only imagine applications that they can write. They don’t have any Great Ideas for Computer Software which could be created by a huge group of people. Probably because their minds work in a simple relation – every idea has one If statement described as “Can I get money from this idea?”.
But that’s not what I wanted to write here. It doesn’t give me the point I was looking for. And suddenly, yesterday, I found it. They are at the end of a blind alley of coding. No matter if they are 20, 25 or 40 years old. Why? Because none of them asked any question during this long discussions! I was a bit shocked when I discovered that. I made a test and checked my theory – 100% success!
People who’re working on closed source software doesn’t ask questions. They’re not interested in anyone else ideas, knowledge OR they’re sure they know everything. Both cases are just stupid in my humble opinion.
Why is it so important? There is a theory of Memes and Ian Steward and Jack Cohen, in “The Science of Discworld II” used a term “Extelligence” to describe the merged intelligence of humanity. They proved that individual human being has very limited resources and it’s not possible to evolve too far with such small brain. But having extelligence, united intelligence of all human beings we can “reach the stars”. The base of extelligence is a share of knowledge between humans. Open Source is an expert in this game. Closed Source teaches not to share anything – including ideas.
So working for Open Source you must share ideas and knowledge with other people – it’s our way to improve product. All features in our products comes from complex process of selecting ideas from hundreds people who write them down. We learn this thanks to open source, and we can use it elsewhere making our life better, happier.
There is also one more reason – very important for me. Open Source people works with mentors, authorities, people who are a real guru’s for us all. It makes us all modest. We are safe from falling in infatuation, from cheating ourselves that we are gods. I can clearly imagine someone who’s working on his own, without sharing anything, any knowledge, selling his very similar products and getting the feeling that he knows everything. That he is the best. And what is most important – that he doesn’t have to learn. To study. To improve.
Of course, you can find exceptions. rustic Open Source people and charm Microsoft developers 😉 – but I feel that this theory fits my experiences with both kind of developers.
Once you stop learning, when you can’t find motivation to try, experiment, test, create something for fun, learn – who you are? Where do you go? It means that you won’t be any better – and others will overtake you in a minute.
And how can you learn in Closed Source model? You must buy a curse or learn from tutorial – both ways are not funny and you’re quite alone during this process. In Open Source model you learn with others, from others, giving your contribution in reward – it’s a great deal – both sides win + users. And you code together. So you’re more social than boring, sad, tired of coding, closed source guy who don’t want anything from life beside getting money for selling someone his secret code once more.
Well, mostly, that’s all. What do you think? Did I miss some important part in my theory?
6 replies on “Open Source makes you a better human being?”
Nice point of view! Maybe try to publish it somewhere (Slashdot or sth)?
Well, there’s one thing I know for sure: OS developers write in English. CS developers (your friend’s boyfriend as an example) use some English-based language 🙂 No offence.
You should publish your texts somewhere 🙂
Gee, does this article present closed source developer as a sad, mieserable megalomaniac, barking at everyone who gets to close to his desk?
Well, I guess most of them have to be neurotics with suicidal tendencies 😉
And friends?! What the hell is “a friend”? If I don’t read a “Hardcore closed source developer’s guide to friends” (99,99$) I don’t even belive such thing exist!
Deamn, what kind of man would like to live this way?
1. Money is not the only goal for cs dev. (code bitchies?! 😉 however it is important, perhaps they have families to feed, share lives with or just like a stable situation. – probably most banal argument on this issue, but a real one – you can’t understand that, c.s. can’t understand you – 1:1
2. They do ask questions and share knowledge (msdn.microsoft.com, wss.pl, alt.pl.comp.lang.csharp, tones of blogs, lots of others…) if you don’t see that you are either short-sighted or don’t pay enugh attention to the other side and create your own miths and slogans.
3. What do you mean by “Novell, IBM or Nokia plays in our game”? Is Novell NetWare or Lotus Notes an open source or do I get it wrong?
4. If you think cs dev’s don’t have any fun of writing code, and obviously you do – which is pretty surprising to me – you should probably admit writing sports.pl was a tragedy for you 😉 Was it?
And games developers?! Are games OS?! Some, maybe, yeah, but not many. And do you think writing a game is a traumatic experience?
You’ve opened your sources (GREAT!) time to open your mind a little more, or talk to some other close source developers.
Remember CS are not only operating systems or web browsers 🙂
And please notice, that I haven’t wrote even one bad (or good, yes) word about OS. I just think that your words are strongly black and white.
Szacuneczek i całuski 😉
1) No, not 1:1. I also have family, payments. That’s not an argument – sorry. It’s an excuse.
2) They don’t ask questions. Go yourself and look at msn newsgroups. Can you find there anyone beside schoolboy newbies who asks questions, who wants to learn?
3) No. Those are examples of companies who are participating in Open Source movement. Their coders work on Open Source projects – eldar, experienced coders. I never said that OS should replace CS everywhere. I’m not Stallman of any kind 🙂 I just gave this to prove that not only young enthusiasts see Open Source as a future of coding.
4) You mixes two points. Close Source and Custom Software. Please, refer to some basic articles on Wikipedia before discussing this issue. Sports.pl is custom software. And parts of it’s sources are open and were shared on dev.php.pl.
I don’t see any difference between games and other software here. So yes, I must suspect they have much less fun from this than (for example) Planeshift coders. And yes, I still think that OS model gives you help also in real life.
> or talk to some other close source developers.
I’m doing so. Really. And it fits the model I described in my post. So sorry, you’d have to prove me that I’m wrong in some different way.
> I just think that your words are strongly black and white.
Yes, I’m aware of that. I just described some differences so it’s obvious that I wrote jyst about those skipping similarities. That’s why this can sound black-white to you.
1) You don’t have kids to feed or what’s more important play with, watch them grow, spend a lot of time with them. (no, web browsers are not children – remember 😉 )
2) Maybe msn is not a good example. How about AI, natural language processing, design patterns, etc. – newsgroups focused on less popular issues? Maybe experienced developers avoid posting quiestions to popular newsgroups, or maybe they don’t do it so often, that you can easly find them.
And belive or not they work in groups (pretty large sometime) and share their experience with ich other.
4. Ok, I mix two points asking about sports.pl, but does development process in CS and CS 🙂 differs so much.. I mean do you have more freedom doing Custom Stuff? So was it a disaster?
and hey!
I see a big step from
“coding just as a method to get money, nothing more”
to:
“they have much less fun from this”