A few days ago, a student from the Faculty of Management of the University of Mauritius sent me an email with a list of questions on open-source software. She was going to participate in a debate competition but didn’t know a lot about OSS. She was going to support the motion that the Government of Mauritius should promote OSS. Naturally, I was keen to help.
I quickly replied to her (mostly mechanically) but today I realised that the questions and answers (even though imperfect and incomplete) would make a nice blog post. Here they are:
> The fact that the source code are available, is OSSÂ insecure?
Linus’ Law states that “Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix will be obvious to someone.”
This means that as the source code is publicly available, lots of people look at it and discover bugs (there are bugs in all software including open source software.) Better, as the bugs have been found, they are remedied rather quickly and, most of the time, by the same people who have found the bugs.
Compare this to proprietary software where only a few pairs of eyes can look at the source code and miss most of the bugs.
What do you mean by “professional bodies”? If you mean professionals, then you should understand that those reading the source code of open source software for fun ARE professionals (or else they won’t understand a thing.)
The only difference is that they don’t work for the company who had released the software.
Now, why would someone read the source code of a software if he/she is not being paid to do so? The only reasons I can think of are (i) for the fun of it and (ii) to make it better.
The argument can even be that those who are paid to write software generally do a worse job than those who do it for pleasure as money has never (and will never be) a strong enough motivation to do good.
Of course. Because of cost reduction, increase flexibility and increased reliability.
What is maintenance cost? Do you mean support?
I would say that supporting OSS requires people who are more knowledgeable (and, consequently, more expensive) because, simply said, OSS has more features and offers more flexibility.
Maintaining an airplane is more costly than maintaining a car but you need to do both as sometimes you really need the airplane :-)
What do you mean?
CSS is not generally user-friendly. In fact, most software is not user-friendly as their user interaction (and not only user-interface) has been designed by programmers instead of interaction designers (read Alan Cooper’s, the father of Visual Basic, book for instance. It’s called The Inmates Are Running the Asylum)
So user-friendliness is a result of the user interaction having been designed by someone knowledgeable in that field. And you’ll find user-friendly software both in the CSS and OSS scene. And lots and lots of user-unfriendly software too.
No. Provided they have a brain and are open to new things. Those two should be essential pre-requisites for entering a university.
The general public already uses Firefox which is OSS. The reason why is that Firefox and OSS in general empowers people to do more complex things.
So I believe that this is the way to convince people to make the effort to learn a new tool (which a software basically is.) You have to tell them that they’ll become more powerful ;-)
Advantages: Cost-effective, Flexibility, Reliability, Great online community
Disadvantages: Higher-learning curve.
A few days later after having, hopefully, digested the answers, she asked me some additional questions. Here they are:
(1) Reliability: this is a direct consequence of the source code having been “audited” by thousands of people. Bugs are caught very quickly. And, more important, they are corrected very quickly too. Thereby an increase in reliability.
(2) Flexibility: this is a consequence of most OSS being done by people who think the UNIX-way. In the UNIX world, instead of building one tool which does everything (badly), people tend to build a multitude of small tools which individually are simple but which can be combined in a pipeline in multiple ways. Have a look at UNIX pipes for instance. Consequently, UNIX-derived operating systems like Linux are extremely flexible and, hence, powerful but only to those knowledgeable enough…
I don’t know for sure.
This is true for all software. Every year, a number of software are abandoned. In the commercial world, users are essentially doomed (as nothing can be done except migrating to another software.) In the OSS world, someone else (the end user himself maybe!) can continue development as the source code is available.
You just have to ask the programmers themselves! In the OSS world, they are readily accessible. And there are lots of websites that monitor this kind of thing (e.g. Sourceforge and Freshmeat)
In the OSS world, one can technically-speaking audit the whole source code because it is available for free. I don’t know how one can audit commercial software with closed source. So, in the commercial world, it’s actually impossible to say that one software does not infringe any intellectual property except if you believe the vendor (but that’s not auditing…) Read about the SCO debacle for more information.
That’s it. Nothing much.
A small update: I wrote an article on the Linux User Group of Mauritius website a few years ago. It was called 10 reasons why Linux is better than Windows for the Mauritian School IT Project. It is still relevant today.