How come our Internet connection is so erratic and so slow today? Who knows what is exactly happening? Is it acceptable in 2008 to have such technical problems paralysing the whole country? What are we exactly paying for?
Technology
Should the Government promote open-source software?
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.
Effect of Mauritian summer time on Linux systems
As you all know, Daylight Saving Time is being implemented in Mauritius as from this Sunday 26 October 2008 at 02:00. The exact rules are
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Mauritius 2008 max - Oct lastSun 2:00s 1:00 S Rule Mauritius 2009 max - Mar lastSun 2:00s 0 -
(obtained from the timezone database as used in GNU/Linux, FreeBSD, NetBSD, OpenBSD, Cygwin, DJGPP, AIX, Mac OS X, OpenVMS, Oracle Database, Solaris, Tru64, and UnixWare — everything important except Windows in fact. Read this if you’re still using that bizarre OS. Thanks to Swadesh Bucktowar of DCDM Consulting for that.)
The rules mean that:
- On the last Sunday of October 2008 (the 26th) at exactly 02:00, we will save 1 hour (i.e. Mauritius Time will become GMT+5)
- On the last Sunday of March 2009 (the 29th) at exactly 02:00, we will stop having the 1 hour saving (i.e. Mauritian Time will become GMT+4)
- and this will repeat every year thereafter.
In more geekish words, here is what will happen:
Sat Oct 25 21:59:59 2008 UTC = Sun Oct 26 01:59:59 2008 MUT isdst=0 Sat Oct 25 22:00:00 2008 UTC = Sun Oct 26 03:00:00 2008 MUST isdst=1 Sat Mar 28 20:59:59 2009 UTC = Sun Mar 29 01:59:59 2009 MUST isdst=1 Sat Mar 28 21:00:00 2009 UTC = Sun Mar 29 01:00:00 2009 MUT isdst=0
Updated GNU/Linux, FreeBSD, NetBSD, OpenBSD, Cygwin, DJGPP, AIX, Mac OS X, OpenVMS, Oracle Database, Solaris, Tru64, and UnixWare systems will automatically change to the Mauritian Daylight Saving Time on Sunday 26 October.
The important word here is updated. If your system has not been updated for ages, then don’t expect the time to change by itself. You’ll have to do it manually.
I can confirm as of today 17 October 2008 that the following fully updated Linux distributions will switch to Mauritian Daylight Saving Time correctly and automatically:
- Ubuntu 8.04 and derivatives like Kubuntu => use tzdata_2008h => OK.
- Ubuntu 7.10 and derivatives like Kubuntu => use tzdata_2008h => OK.
- Ubuntu 7.04 and derivatives like Kubuntu => use tzdata_2008h => OK.
- Redhat Enterprise Linux 5 Client or Server => use tzdata-2008f => OK.
On the other hand, the following Linux distributions use an old version of tzdata which knows nothing of the Mauritian’s Government decision and the date and time will have to be adjusted manually (or, better, by replacing the old timezone database by a more recent one):
- Redhat Enterprise Linux 4 => uses tzdata-2004e => BAD
- Redhat Enterprise Linux 3 => uses tzdata-2003c => BAD
- Redhat Enterprise Linux 2 AS => uses glibc-2.2.4 => BAD
(I’ve not checked for other distributions. Can someone please tell me about SuSE as I know this distribution is being used by some corporate users here?)
An important caveat
[Thank to David Marjolin for his important observation that the following won’t be an issue this Sunday but will surely pose a problem in March 2009]
It’s nice to know that the time will automatically change on Sunday but what about transactions occurring at that time? For example, let’s say someone uses an ATM at 01:59:58 on Sunday and this is normally what should have happened (let’s assume that this is done in one transaction containing two SQL statements with a 4 seconds time interval between them):
01:59:58 => First SQL statement 02:00:02 => Second SQL statement
But now, with this Daylight Saving Time thing, this is what will happen:
01:59:58 => First SQL statement 03:00:02 => Second SQL statement
Hardly problematic. But what about March 2009? The same transaction will occur thus:
01:59:58 => First SQL statement 01:00:02 => Second SQL statement
We’ll go back in time!
Will this work? Well, one can argue that systems developed in the US or in Europe surely take this in account (by recording everything using GMT maybe.) But what about systems developed in Mauritius where this eventuality was not thought of? Maybe we’ll have to modify them. Or maybe the best thing to do, as pointed out by Swadesh when I talked to him today, is simply to disallow all transactions from 01:59:00 to the new 02:00:00 (i.e. for one hour) if this is possible, of course.
What do you think?