Free software is nothing new. In fact, it predates commercial software. In the really early days, people didn't charge for their software, because it was a research activity. Even thirty years ago, organizations like DECUS distributed free software for Digital Equipment's machines. They've changed their name to Encompass now, but they still distribute free, user-developed software.
Let's recapitulate what happened since then:
By the time Daemon News began, in late 1998, Linux was way ahead in terms of mindshare and commercial development. Looking from my own perspective in the FreeBSD community, I saw:
Looking back now, things have changed. For example, all but one member of the FreeBSD core team uses FreeBSD in his daytime job, and that one member will catch up in a few months time. This is not why they are part of the core team: the core team was elected, and nobody knew this detail. It's indicative of the change in the way we do our work. Despite the nay-sayers, BSD is still there, alive and kicking. As far as I can tell, it's becoming better known all the time. On the other hand, the love affair the investors had with Linux seems to have cooled down somewhat, and they're no longer paying ridiculous sums of money for stock in Linux companies. This is not any fault of Linux: the stock market had overreacted in the first place, and it's gradually coming to its senses.
But what about this ``we're not in this for the money'' attitude? It's rather reminiscent of Bill Jolitz, who left BSDI because they planned to make money with BSD/386. The fact of life is, of course, that we need money to live. The real question is whether you want to make money doing things you like, or make money so that you can do the things you like. Certainly the question of open source is different from the question of making money doing the work. In the latter case, you're going to have a manager who tells you, more or less gently, what to do. You don't release your software when you think it's ready, you release your software when the team agrees it's the right time. The ``right'' time can depend on many other factors than the maturity of the code--just look at Microsoft for a good example.
Last year the German magazine c't printed an editorial in which they suggested that IBM's involvement with Linux was not necessarily beneficial to Linux. Obviously any large company has a reason to spend money, they argued, but they weren't sure what IBM's motives were. Just recently, Techweb published a story entitled Is Linus Killing Linux?, in which they argue in a similar vein, that big corporations want to have a say in the evolution of Linux.
So what does that mean to Linux? There are two separate issues: will it become less free, and will it become worse?
Not everything in commercial software is bad. After all, until free operating systems came around, we all used commercial ones, and some of the features were quite good. So what's the problem?
As I see it, we face the following potential threats^H^H^H^H^H^H^Hissues:
Thanks to the GNU Public License, there's not much likelihood of this happening to Linux. The BSD license doesn't exclude the possibility of this happening, so theoretically is a danger that this could happen to the BSDs. I believe that other factors will make this unlikely.
That's possible. The question is, is this a bad thing? Imagine, for example, that the users say ``we want GUIs like Microsoft, we don't want this archaic command-line thing''. Now I don't need anybody to point out to me that one doesn't preclude the other in a well-designed system. The point is that if people who don't understand this are allowed to influence the design of the system, it could be the worse for it. I suspect that this is at least part of what happened to Microsoft.
20 years ago Microsoft moved into the operating system arena (previously they had been almost exclusively a supplier of compilers and similar tools), and the operating system they chose was... UNIX! Well, in those days nobody except AT&T was allowed to call their product UNIX, so they called it XENIX instead. It wasn't until later that IBM approached Microsoft and wanted an ``operating system'' for their Personal Computer, which obviously was too small for XENIX, that they bought what became MS-DOS.
In the course of time, MS-DOS has turned into Windows, if not by direct code migration, then at least in spirit. Why didn't they learn lessons from UNIX? There are obviously a number of reasons, but not knowing about UNIX wasn't one of them. I suspect that doing ``what the user wants'' was one of them (``It's just what I asked for, and not what I need'').
Of course, this happens already. Lots of free software only becomes free once it's been debugged. The question is, how much difference this makes.
This is going to happen. To a certain extent it happens already, but the pressure may increase. It will be up to the individual programmer to decide how to handle the issue.
So why isn't there a danger that BSD will fork, and that the predominant version will not be free? Simple: people have already tried that. Many of the UNIX systems of the 80s were based on BSD, for example SunOS and Ultrix. Sure, they switched to System V, but if you look at how the pure System V software companies are doing today, you won't see any likelihood that they will want to encumber themselves with the maintenance of a large code base when others will do it for free.
But how do we make a profit? Conventional wisdom has it that you make money by creating a product and selling it. Well, it's difficult to make money by selling free software, so the product needs to be something else. Services? Packaged solutions? Support?
One of the issues we're seeing is a difference in viewpoint between the sales people, and the technical people. It's not that they don't want to see the other side, it's just that they're so far apart that they have difficulty. I'm not pretending I know the answers, but it's obvious that the current practice of creating distributions of Linux and then giving them away is not going to work well in the long term. I'll discuss that issue in the next article.
On the other hand, Yana has her own laptop (running FreeBSD, of course), and it has an Ethernet card. So one day when I had to go to her school anyway, I brought her laptop with me, and we went to the library to see if we could connect.
We had the usual problem: find a live Ethernet jack. The obvious thing to do was to disconnect a running machine. Before doing so, I looked at the screen. That didn't look like Microsoft. In fact, it looked like an unconfigured X display with Netscape running. On a hunch, I pressed Ctrl-Alt-F1 and read:
FreeBSD/i386 (dhcp1299.strathalbyn.edu.au) (ttyv0) login:
I laughed so hard that Yana tells me I went bright red in the face. And of course we had no trouble connecting to the network. It was handy, though, to have the Netscape on the FreeBSD box to tell us how to set the proxy.
What was that about the imminent demise of BSD?