open source

Kief goes to Cebit Eurasia

This week Cebit Eurasia
was in Istanbul, the oriental offshoot of the world's biggest trade
show of any kind, and my pal Ercan and I went Friday to check it out,
particularly the Linux track. We caught 3 seminars, of which
Donald Karl
Rosenberg's
talk about the economics of Open Source had the most
international angle.

Rosenberg reviewed a lot of what's going on with various national
governments and open source, including China, Peru, Venezuela, and
others who are trying to encourage open source as an alternative
to foreign-produced black box software. He listed a number of reasons,
including the FUDish implication that nobody knows what Microsoft
might have hidden inside Windows at the CIA's behest, although not
in so many words. Open source is also seen as a way to foster local
IT industry and keep government spending at home rather than pumping
it abroad.

One of Rosenberg's assertions that I disagree with is that companies
outside the US are less concerned with brand names and more interested
in engineering quality. My experience in Turkey is the opposite, the
"nobody got fired for buying [IBM/Microsoft/Oracle/HP]" mentality
dominates. He seems to have based this idea on Germany, whose culture
of engineering excellence is at the opposite end of the scale from
Turkey's, exceeding the USA by a good bit. (My favorite example
of this train platforms, where you can see a dozen clocks whose
second hands are in lock step). Developing countries are much more
prone to buying big name brands just for the prestige factor than those
in rich, self-confident nations like Germany.

Even Linux distributions suffer this, most Turkish geeks I know run
Redhat, and are only vaguely aware
of Debian. But the later seminar
by Debian project leader Bdale Garbee impressed Ercan enough that
he wants to give it a shot, so we're going to download and burn some
CD's and give it a go. I've used Debian before, but Bdale's talk
impressed me with the sheer quantity and quality of the work that goes
into Debian and its packages.

The other talk we attended was Don Marti from
Linux Journal talking
about good security habits. The title of the talk was "Linux security in one
hour a week", the idea being that practicing a few good habits in configuring
and monitoring your systems is enough to counter 99% of security threats.
Sound, basic advice like monitoring security announcement lists and keeping
your system patched, and disabling or removing unnecessary services. He shared
plenty of practical little tips; for instance, if you remove an unneeded app
by hand, your package manager might replace it later when an upgrade comes
out, so use the package manager to remove it instead.

I also heard that a certain major hardware maker who will be producing
a Windows tablet has got Debian Linux running on it, which answered something
I had wondered about before.

Another thing we did was check
out the new Nokia 7650
camera phone
. This thing is advertised all over the place here in
Turkey, and I assume everywhere else too. Here's a picture of Ercan and
me at the show taken with the phone. I'm the one with the stupid look on
my face.

The quality is not as good as a full digital camera, just 640x380, but
if the camera feature is cheap enough (I don't know how much the 7650 costs)
it could be useful for spur of the moment shots - if you own one, you'll
always have a camera handy for a quick snap. The interesting feature for
me was being able to email the picture to myself, since it avoids the
hassle of local storage. Digital camera storage is getting better, but
it would still be handy to have a quality camera with the option to dump
its memory onto the Net.

A proper digital camera with bluetooth would be just the ticket, so you
could link with your phone to upload pictures, or link with a PC or laptop,
without having to remember to bring cables and connectors and such.

EU Study on OSS

Via the dot, the EU has released a study on Open Source software. The parts I found interesting was the survey of OSS programmers. Debian is the most popular OS, most programmers know C and C++, almost as many people know Java as Perl.

The question on OSS philosophy is lame - either OSS is a "different way of living" than Free Software, it's pretty much the same, or you don't care. The first option makes it sound like you've joined a cult, but the second option is, to me as a programmer, simply incorrect. Releasing software as open source is objectively different from releasing it as free. Free means anyone can use your software, but only you can make changes to it and redistribute it. Open means anyone can modify it and redistribute it, even if you choose a license with restrictions (e.g. GPL). It seems to me even an anti-open source programmer would agree that open and free are different things, but they wouldn't pick the first answer because it sounds religious.

CS Team Development

Brett Morgan continues the discussion of OSS as a learning tool.

One of the problem's I see with fresh out of uni coders is that the biggest project they have worked on is usually say 2 months coding (in a team of say 3 coders), so they have no real understanding of what working on 10k loc project is like. They have no idea of the real need for code documentation (because it was small enough to fit in their heads), they have no idea of the need for refactoring (we hand it in, and then we never see it again), and a total lack of ability to communicate.

So, here is a thought. Take a class of third year CS students. Bring up a CVS server and slave it to some large project. Force the students to then work at understanding the code base. Then get them to work out small projects to make changes to the tree. Make sure to update the tree nightly from the main CVS server to keep the students on their toes.

I definitely agree that CS programs don't give students as much exposure to real team development as it could. Whether it's an existing OSS project, or simply a large class project, something like this could be very cool.

The project for the Operating Systems course I took was developing an OS that ran on a MIPS simulator. We worked in teams of 2 or 3, and every few weeks we had a new piece of the system to write; process scheduler, virtual memory manager, file system, etc. Very cool. I'm not sure whether you could have an entire class work on the whole thing, a big part of the value of the course was building up each component from scratch.

But what could be very educational would be to force teams to swap code after each module. So after you finished the file system, you have to use a different team's file system code to write your virtual memory management component. Students would learn very quickly to like comments and good code design.

Syndicate content