Archive for the ‘Politics’ Category

New business model for future OSS development

Friday, May 16th, 2008

Some months ago I realized that developing Open Sound System is no longer my profession. Nobody is paying to me so all OSS hacking has become just a hobby (just for fun). I make my living by doing contract development for Sun and very few other paying customers. However that doesn’t cover the work I have planned to do to develop OSS as an independent product for everybody. This means that my focus will be in keeping customers like Sun happy (by developing features they need) and in developing features what I like to do for my personal needs.

At the same time users of OSS are struggling with problems related with their (hdaudio) laptops. Fixing them will require hours or days of work for each system. In addition to do the work I would need to buy each laptop and pay it from my own pocket. Why should I do that when nobody is paying anything for OSS. Users of OSS seem to be just wanting free support from me without paying anything for that.

Recently I bought a decent iMac system because I decided to move from Windows to Mac (I’m a amateur photographer and use Photosshop a lot). I can use this machine to fix some OSS problems related with Mac machines but this is justified because I have other use for the machine. In addition I would like to use OSS under Solaris in this system myself.

However there are many OSS users with many different kind of laptops (Lenovo, Sony, Toshiba, etc). What should I do with them? Do I just go and buy all the laptops from my own pocket? No. I don’t need any more laptops for myself and in addition my salary is will not be enough to buy any more of them.

So what to do with users of such laptops. I don’t care. I don’t have any use for such laptops. Developing hacks for more hdaudio systems is even not fun (it’s lamest of all lame jobs). Should I just say fuck off to all these users? After all being nice to them will not improve my life in any way. I just have to waste my spare time in doing something I don’t want to do. By not doing that the competiveness of OSS will degrade. However does it really matter because I will have to find some other job anyway? Is this the only choice? I hope not.

What I have been thinking about is a new business model for OSS. If 100+ owners of some laptop (say Thinkpad T61) would like to donate something like $10 for the project then I can pay a T61 laptop and cover the required work by that money. In this way it will be profitable and I don’t need to cover the work from my just-for-fun time budget (which will never ever cover the price of a T61 laptop I don’t need). I just need to spend some additional time in developing an auction web site for this purpose (which is actually fun).

What do you think guys/galls? Comments are welcome.

There is something wrong in the state of Open Source

Wednesday, November 7th, 2007

The source code for our Open Sound System product was “open sourced” under GPLv2 and CDDL about three months ago. There were several reasons why we did so.

  1. Third party driver developers can contribute their changes to the common OSS source tree.
  2. We wanted to give our customers a guarantee that they can keep using OSS even 4Front Technologies goes out of business.
  3. By having the source code our customers can customize the code for their purposes.
  4. When large number of developers can see the source code they may find bugs that might otherwise stay undetected for years.
  5. We wanted to make OSS as an acceptable sound subsystem solution for all Unix/Linux/POSIX/whatever compatible operating systems.
  6. We wanted to promote an open source software concept where everybody who uses open source software from other companies/developers also contribute their own development to the community.
  7. We wanted to do all the above in a way that makes it possible to us to continue our work as professional software developers.
  8. We wanted to continue to sell OSS as a commercial product to the customers who want to use OSS from their proprietary/inhouse software.

We decided to release the source code of OSS under two commonly used open source licenses that were GPLv2 and CDDL. We would have preferred just one license scheme but out of all ones these two provided widest coverage of the open source software market. These two licenses are compatible with all the different “open source” licenses so far. We didn’t release OSS under licenses like BSD because we feel they are “half closed source” licenses.

Did this licensing model work? The answer is yes and no. The success story is that we have already got several talented developers to contribute their work back to OSS. What was disappointing is that open sourcing actually decreased our sales significantly. We are in unfortunate position of providing only device drivers that are supposed to be free.

So for us open sourcing means kissing goodbye to any hope of revenue. The customers who previously bought OSS licenses don’t do it any more. They think that having the source code means that they have at least equal rights than we had.

So what can we do? Developing OSS is no longer profitable which means we should find some other way to feed our families. Who will then continue developing OSS for you?

You may thing we could start selling OSS T-shirts to fund the development. Do you have ever bought any T-shirts to sponsor some open source project? At least I have never done so.

I tried to add some Google ads to our open source WEB pages and to the OSS Programmer’s Guide (which have about 2000 hits/day). In two weeks I have got exactly $00.00 in that way.

So does anybody have better ideas?

To GPL or not to GPL, that is the question

Tuesday, June 12th, 2007

Why is this subject so difficult? I started writing this blog entry about a month ago but I’m still here. Somehow everything I have written so far doesn’t make any sense when I look it next day.
Ok. We have made the decision to open source OSS and the announcement will be made on June 14th 2007. The announcement was supposed to be kept secret but we realized that members of the open source communities may want to give some feedback before the announcement. So the secret was leaked which proved to be the right solution.

The original idea was to release OSS under CDDL for Solaris/OpenSolaris and GPLv2 for the others. However as we expected the BSD communities didn’t like this so they will get OSS under CDDL too (how much I hate these silly open source license wars).

In addition we will announce our intention to move further development of Open Sound System to a community.

The license is really GPLv2 instead of LGPL or the Linux kernel license. This may look stupid but actually it’s not. The beauty of GPLv2 is that the license permits use of OSS only with operating systems and applications that are also released under GPL.
In this way the source code is available under GPL for everybody. Organizations and users using GPLed applications under GPLed operating systems (kernels) can use GPLed OSS for free. Just the companies and organizations using OSS in non-GPL compatible environments are required to buy the commercial license.

Some open source operating systems like OpenSolaris and the BSD variants are not compatible with GPL. We will make OSS available also under the CDDL license for these operating systems. CDDL makes things more complicated than with GPLv2 alone. However I think the benefits will be greater than the possible problems.

I think this licensing policy is good for everybody. The open source community will now have access to the source code after 10 years of closed source period. Users of closed source applications and operating systems can still use OSS and it’s source code if they purchase the commercial license. We as the initial developer of the software will still have some chances to continue development of OSS as professional developers. More details about the licensing will be published after the official announcement.

Why do we do this?

First of all we have recognized the benefits of open sourcing to the user and software developer communities. We also believe that with the help of the developer community we can make OSS better than it’s now.

Another reason is that our potential customers currently expect to have access to the source code.

What does “open” mean in Open Sound System?

Monday, April 23rd, 2007

Open Sound System has been critizised because it’s not free, open sourced, GPLed or whatever. People claim it should not be called open because it’s in fact closed.

But what do “open” and “closed” mean after all?

During the early years of computing all software was written in assembly. There was no concept of operating system. Instead all applications (such as accounting software) accessed the hardware directly. The hardware had to be fully documented since otherwise nobody would not have been able to use it. In fact most (if not all) computer manufacturers shipped some software (in assembly language) with their hardware. So the situation was “all open” and also “all open source”.

Soon after that some new computer manufacturers entered the market. Since existing customers had already invested truckloads of money to their assembly software the new competitors had no other choice but to clone the original instruction set and hardware interface. The concept of “IBM compatibility” was born. Without compatibility it would have been too expensive for the old big customers to change their hardware vendor.

Few decades later the situation was different. Proper operating systems and programming languages had been invented. So 100% hardware compatibility was no longer necessary. It was possible to recompile the applications in some new system and get it running with reasonable cost. So being “open” was not the only choice.

Some systems even hidden all the hardware (even CPU instruction set) from the user and the software was implemented on top of some interpreted language (much like Java works today). The HP250 computer by Hewlett-Packard (see http://www.decodesystems.com/hp250.html) comes to my mind. It’s probably not the only or even the first system of this kind (I just have seen it). However all applications written for it were written on HP BusinessBasic. Nobody knew what kind of hardware architecture it had. A friend of mine managed to break behind the Basic interpreter and got a feeling that it was actually a 32 bit system (HP’s “bigger” HP3000 machines were still 16 bit systems during that time). However this was an example of “closed”.

In 80’s many (if not most) computers were “proprietary” and “closed”. They were running some operating system or BIOS that was not available for any other hardware. This was true with the first IBM PC too. IBM PC was MS-DOS based and Microsoft licenced DOS to some other computer manufacturers such as HP. However IBM’s BIOS was “proprietary”. During mid 80’s I used HP150 microcomputer that was also MS-DOS based. However it had it’s own (again “proprietary”) firmware that was called AGIOS (or something like that). Both HP150 and IBM PC were running the same MS-DOS which was character oriented. For this reason all applications had to use some firmware functionality to be able to do anything usefull such as graphics. So “IBM compatibility” got a new meaning. IBM compatible applications could be used only in IBM PC because they required services of the “proprietary” BIOS that IBM refused to license to anybody else. Fortunately Phoenix managed to reverse engineer the IBM BIOS and companies like Compaq and HP were able to produce their IBM compatible clones. Since that the PC was “open” again.

Then Windows was invented by Microsoft (btw, Windows 1.0 was originally shipped as a co-product of Microsoft mouse). Also Apple released the original Macintosh. Both products were “closed” again. MacOS was only available for Macintosh computers made by Apple. Windows was only available for MS-DOS. And so on…
Soon after that Unix started to gain more and more attention. It was considered “open” because AT&T licensed it to every computer manufacturer who wanted to license it. However every Unix vendor started to make their own extensions to it and soon the situation was approaching “closed” and “proprietary” again. Each vendor had their own windowing system running on top of X11 so GUI software written for one Unix variant was unusable under the others.

So several Unix manufacturers joined together in Open Software Foundation (OSF) and their developed the Motif GUI toolkit based on HP’s design. They even started to develop a common Unix version called OSF1 but after all only Digital used it in their Aplha machines (now it’s called Tru64Unix). Also Sun left outside OSF because they had developed yet anothe GUI toolkit that was incompatible with Motif (and better IMHO). And the story is getting too boring and I have to stop…

The “open” in Open Sound System comes from the above context. It means that the software is fully documented and any company can license it (or create their own implementation based on the specification). In fact this has happened in Linux and FreeBSD that both have their own implementations of the OSS API. In addition some companies like Sun and SCO have already licensed OSS for their operating systems.