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.
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.