Advogato's Number

Posted 16 Nov 1999 at 20:11 UTC by advogato Share This

This is the second Advogato's number. The major topic this week is Linus's keynote at Comdex, and thoughts on free software in the desktop.

Linus Torvalds gave a well-attended keynote address at Comdex yesterday. So far, the only real press coverage I've seen is at CNet.

A major theme in the talk was the need for Linux to be responsive to what users want, rather than being driven by technology. This has been a theme in Linus's speeches for some time. Indeed, while Linux isn't quite done, for most users it gets the job done quite nicely. Free software desktop applications, while coming along, are still not there yet.

Of course, everyone in the Linux business realizes that desktop apps are, in Linus's words, "clearly the most strategic area. That's what people see daily, and that's what people associate with computers. But it's also the hardest to enter." Indeed, creating desktop applications is a very difficult, labor-intensive process. That, I think, is the major reason we haven't seen very many free ones. Even application categories which began as free software are struggling, although progress lately is promising, especially for Mozilla.

Because desktop applications are large and complex, they require the cooperation of a number of people with overlapping talents to build. Of course, there are a number of free software projects that meet this description (the Linux kernel probably being the most notable example), but on the other hand, if you go digging through Freshmeat, it becomes clear that there are plenty that are not.

Mozilla aside, the model that seems to have worked best is that of one person who really knows what he's doing, helped by people who are willing to put in the hard work needed. While the Linux kernel surely comes to mind, there are plenty of other projects meeting this template, such as Gnumeric, led by uber-hacker Miguel de Icaza - as this screenshot shows, this team has learned how to build applications that compare favorably to proprietary apps in polish and functionality. Perl is certainly another example of this type of project team.

Nonetheless, the lack of free software applications combined with the explosive growth of Linux is creating a market opportunity for proprietary applications. A number of companies seem to be headed in this direction. This is not entirely a bad thing. Advogato feels that the spirit of free software is not about beating proprietary software, but about building a rich, satisfying computing environment. As Linus said in his Comdex speech, "people see Linux as anti-Microsoft. In the press it looks that way. But to me and all the developers I know, it's not me vs. Microsoft." It's a matter of a fun programming project. For most of us, the Nemesis Air Racing slogan, "chase the dream, not the competition" resonates.

There are other reasons to believe the future of the desktop looks bright. It seems to me that the structure of applications has traditionally reflected the structure of the organizations that built them. As the free software community begins to find its footing on the desktop, I predict a gradual shift in the way applications are built to be more friendly to the free software process. One of the most exciting developments, I think, is the resurgence of component architectures such as KDE's OpenParts and Gnome's Bonobo (more information in the Gnome and Corba book) frameworks. If these really catch on, it will be a great opportunity for developers to work on small components that do one thing well, and with luck the higher-level integration will work out well. Component software also has the potential to be more flexible and responsive to user needs. An argument can be made that its previous failures have more to do with programming culture than with technical issues. If a you're relying on a component owned by a different proprietary company, you're screwed. But if it's free software, you can fix it and tweak it until it works.

The higher-level integration is in many ways the hard part. As one sign particular, the KDE and Gnome projects have different component frameworks, and they currently don't interoperate in any meaningful way. Until they do, the user experience is never going to be really smooth. Fortunately, both teams are interested in improving integration, and progress is happening.

On a different matter, Linus has been speaking for some time now about the bright future for Linux and other free software in embedded systems. There's definitely a small but growing interest from companies and the press, but Advogato believes there are lots of opportunities for free software developers there, both to do cool things and to make some money.

Until next week,


Competition in User Land? -> High level components!, posted 18 Nov 1999 at 05:16 UTC by ber » (Master)

Coming from a user perspective, only a high level component system will really enable a competition. I do not see that addressed in most GNU/Linux developments right now.

"High level components' implies that the user can identify the components and exchange them easily. Theses components therefore need to work together without knowing about each others existence.

Devide and conquer still does not happen for applications. Let us say I want to exchange the article scoring system and want it exchanged for both my mail system and my newreader. Tough call! Oh, by the way, did I mentioned that my newsreader doesn't call my favourite mailreader, and if it does I cannot quote the article's text? What if I want to send part of an html webpage to my friend? To bad, most people will not exchange such things easily. We still have a trend for big conglomerated application(-suites (wearing ties)).

Okay, enough ranting. There is one thing, which really bugs me about it: It is not that hard to do! I envision a simple registery service and some very little protocols for task orientated applications to talk to each other. Well it has been done before, too. NeXTStep was the only system were some my examples almost worked. At least software products which did not know each other effectively communicated with each other.


New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page