3 Dec 2001 julesh   » (Master)

Well, I haven't been here for a little while.

My home PC, which is half owned by my company, has been commandeered back by them for a little while, while I work on a project on it (my standard desktop machine at work runs NT only, and the project is a linux one that requires more processor power than our 200MHz application server box can spare...). Hence, not much work has been achieved recently.

A helpful e-mail recently pointed me in the direction of a group of NASM developers that I had lost contact with a while back (when Nelson Rush left their group, as he was the only one I had ever really had a chance to work with), and brought up the issue of licensing again.

For those who don't know about it, NASM is currently released under a rather obscure license, that has been officially declared by the OSI as 'not free' (I disagree with them on various points, but agree that it isn't a good license). For quite a while now, I have been intending to relicense NASM under the DSPL, an idea I have been playing with for a little while now. However, after two attempts to get it OSI certified, it has again not made it due to the license-discuss list not having given it adequate discussion. It is a rather unusual free software license, and I don't think they are entirely comfortable with it. Maybe now is not the time for it.

So, I have been considering alternative licenses. Those who know me well will know of my dislike of the GPL. As one who works in the software business as well as in free software communities, I know all too well that GPL code is often avoided for commercial use due to potential problems. To what extent do two interrelated processes need to be separate before one of them can be licensed separately? This is a very important question that the GPL treats only vaguely.

I have been considering LGPL. A lot of people read that and say 'but NASM isn't a library'. While this is true, there are many advantages in treating it as such.

  • Aggregation of NASM with projects under different licenses becomes easy: you can say 'you will need NASM on the system' without having to worry about whether this causes your project to be licensed under the same terms as NASM (it might with the GPL, depending on how you read it).
  • Certain parts of NASM, particularly the instruction table, and maybe also its preprocessor, would be useful to turn into an actual library as many other programs could benefit from using them.
I have considered separating NASM out into a back-end library (licensed under the LGPL) and a front-end program (BSD licensed), to prevent any 'but this isn't a library' style difficulties people may have. The task wouldn't be too hard.

My other option is to just forget about keeping control of the project and stick the lot under the BSD license. Then I could forget about it all and just let people go their own way - this is very tempting at times.

Anyone want to let me know what they think? E-mail me if you have a strong opinion...

Latest blog entries     Older blog entries

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!