Sunday, July 30, 2006

Open Source (Free version), How Comes?!!!

I am just wondering about Open Source principals, yes, I could understand that people asking for software code to be opened for learning purpose, or for the development of software as whole, but what I don't understand and not convinced with at all:

1- People whom are convinced with Open Source principals believe that all closed source companies are evil, which is not reasonable at all, because why we don't do the same with other professional services, I mean why you can't go for a lawyer asking him to show all his work secrets with you and when he don't do this, then he's evil?!
Why?!

2- The "Software for free" principal is not reasonable at all, why developers only?!Why we can't see doctors for free, lawyers for free, engineers for free, teachers for free, books for free, etc, why developers only?!Aren't they humans that need money to live?!Aren't they spending the same time (and even more), and spend more money than lawyers and doctors as example?!Why it's normal for the first to sell their services for free and when the second group does the same they are evil?!

I may got some answers like: "Open source doesn't sell the product, but they sell the services for this product", they may be OK for an OS or RDBMS, but what about software which doesn't require any kind of services like Games, small software like graphics packages, like mathematical packages, word processing, etc, is it reasonable for some one to spend a year or more working day and night for nothing and the people whom are using his work and whom spent the same time in their work (like doctors and lawyers) get more money and get a car and home and then get his work for free while when he's seek or asking about law advice is going to pay for them, is this reasonable and fair for me to do job for you for free and when I ask the same for you to pay?!!!

It may be because most of the Egyptians I met are thinking that Open Source = Free which is not the case, this may be the reason, I don't know!

I really want to know how it's working as it doesn't make any sense at all!!!

3 comments:

Mohammad Alaggan said...

As you said, open source != free of charge. So I am replying here only about points that doesn't relate to the "free version of open source" as you call it.
About the evil company thing. I have two examples of "good companies", the first one is google. It didn't release it's code. But it explained some information about the page rank algorithm and they said they can't reveal more cuz it will hurt their rights. They too adopted the Summer Of Code initiative to help students from all over the world to participate in open source development of major open source companies (and btw, those 'trainees' took money for that). I see this example is good, not evil. Another example, ID Software, it releases older games source code. It doesn't reveal the current games' source. This is good too, not evil.
Now, may I ask why don't MS release Office 1.0 or DOS's source code ? Or even Windows 1.0 source code ? I guess it can't cause any harm at all; even the most current APIs have changed significantly from Windows 1.0. I am NOT saying that is evil but just tell me one good thing about it. Personally I consider this somehow selfish. NOTE that I am not attacking MS cuz it a hobby or something, it is just the example that popped into my head, there are other companies too. If I am wrong or missing some info please correct me (thanks in advance). [I don't consider 'sample applications' an open source activity so don't bother counting how many free open source samples MS have released].
And, there is nothing that can stop Open Source products to be sold for money btw (who purchases closed source apps can even pay more for the open suorce replacement).
Remember also that there are lawyers and doctors who works part of thier times for free. And no one have said that an "open source"-active programmer will work all his time in open source.

Mohamed Moshrif said...

I'll answer all your questions:

1- Why Oracle doesn't revealed Oracle V 1.0?!
Why Symantec doesn't reveal vNAV and Norton firewall version 1.0?!
Why Google it self doesn't reveal the code for the first algorithm they used in the first search engine version?!!
And by the way, I remember when I was in the college, that Cairo University has asked for windows 95 source code and they got it, so as I remember, Windows 95 code is available for universities and organizations, go and ask first about such things.

2- About the summer contests and such stuff, MS is making the same in every thing, MS reseach as example, dozens of applications source code in MS reseach have been released (not samples as you're saying).

3- If you're not saying that, others are saying that, I personally know some people who are thinking that all software must be for free, which is completely dummy

Mohamed Moshrif said...

Ohhh, wait a minute, I didn’t notice this except now:
“the first one is google. It didn't release it's code. But it explained some information about the page rank algorithm and they said they can't reveal more cuz it will hurt their rights”
Don’t you know the exact design and architecture of windows file system?!
If now, how companies like Symantec built tools like disk doctor based on it?!
Don’t you know the exact design and architecture of Windows Driver Model, Process Model, etc?
If not, how ReactOS is built to be exactly a clone from Windows architecture?!
Don’t you know the exact design and architecture of .Net framework?!
If not, how mono is built?!
A lot of things like that.

Now to part two:
“I see this example is good, not evil. Another example, ID Software, it releases older games source code. It doesn't reveal the current games' source. This is good too, not evil.”

This is a completely another case, I don’t know your experience in game development, but what I just wanna you to know, that games’ engines are not like any other software, in OS as example, once you knew the architecture and design of every part alone and you’re able to build every part alone, then the matter of building the whole OS is just a matter of time, in game engine it’s not, you may be able to build whole set of samples based on fixed and programmable function pipelines, know how to play with shaders, make post processing effects, build your own terrain engine, play with per-pixel lighting, etc, but when it comes to putting all these together, you will find that you can’t, because unlike OS, a single invalid line in any game engine may kills its performance and makes it un-workable at all, you’re talking about real time system which is working on 100% from the resources in all time it’s on, unlike OS which is idle 75% on average.
In OS, the most important thing is the architecture and design, the implementation is really straight forward, as example, if you want to build UNIX like OS or Windows like OS with the same exact architecture, if you’re good enough, it won’t take more than 1 year to build the whole kernel, because it’ll be just a matter of coding, while in game engine, it’s completely different story.