Posts tagged: gpl

GPL++

Today sees the release of the GPL version 3, a license that will either ensure software freedom in the future or split and ultimately destroy the free software community (depending on who you speak to).

As yet, I’m undecided as to how I’ll be using the GPLv3 for my own projects. On the one hand, I do want the extra freedom-ensuring clauses v3 adds, but on the other hand I don’t want to make my code unusable by the many, many applications out there using v2. I suspect for the moment I shall leave things as they are: licensed under v2 with the ‘any later version’ clause so anyone wanting to use my code under v3 code can do so. At some point however, I will have to switch to v3 properly else my code won’t benefit from the extra protections in v3. Before I can do this, I’ll need to thoroughly investigate compatibility issues – e.g. is something it depends on v2 licensed (generally most core libraries under Linux seem to be under a BSD or similar license, leaving the developer free to choose their own license for their work).

One of the main things people seem to dislike about the new license is the anti-tivoisation clauses. Personally, I find tivoisation very irritating and often there is no excuse for it. My company bought an expensive NAS device from Thecus – it’s essentially a PC running Linux. The firmware was/is fairly buggy and there were initially some very serious issues (e.g. a 2GB file size limit imposed by the versions of NFS and Samba it was running). I wanted to fix these problems, which would have been easy to do, but was unable to do so. Sure I could get the GPL-licensed source code, but the box wouldn’t run my modified binaries without them having been encrypted by Thecus. That’s not fair, and it removes my freedom to use free software.

While I’m talking about the GPL v3, I’d like to publicly state that all the contributions I’ve made to GPL-licensed projects may be considered licensed with the ‘any later version’ clause – so if I’ve contributed to your project where the license stated GPL v2-only, you do not need my permission to change to v3 or add the ‘any later version’ clause; you already have it.

Related Posts:

FOSDEM 2006

So last weekend I went out to FOSDEM in Brussels. Unfortunately the experience was somewhat tainted by the fact that I woke up with a rather unpleasant cold on Friday, the day I flew out, which plagued me all weekend :-(
But I still managed to pick up my share of freebies and attend my share of talks, although I did miss out on much of the beer-drinking which makes FOSDEM what it is :-(

The first talk on the Saturday was Stallman‘s keynote, talking about software patents. I have to admit to being in blissful ignorance of this, believing that (for now at least) they were off the agenda in Europe. However it seems that our governments are trying to bring them in through the back door. What they’re doing now is saying that the European Patent Office alone should be responsible for patents in Europe, instead of it being down to national patent offices. This seems like a sensible idea to me, and likely will to our MEPs as well, until you realise that the European Patent Office has been granting software patents for ages, against existing European law and the consensus formed by the dropping of the Patentability of Computer Implemented Inventions directive. At the moment the idea is in a consultation period, but if and when it comes before the European Parliament we should encourage our MEPs to reject it at the first reading.

He then talked about the upcoming GPL v3 (transcript). This eased most of my concerns about the new license, most of which I now realise were created by FUD spread by the uninformed. The main goals of v3 are to make the GPL more compatible with other licenses (this is done quite cleverly, by having pre-defined optional extra restrictions that can be added to the license) and ensure continued freedom. One of the requirements is that if GPL’d binaries are distributed in a signed form to work with hardware or software which will only accept binaries with a valid signature (this is a form of DRM), it doesn’t matter if you’ve got the source or not, since you can’t use your modified binaries. The license will require that in such circumstances and only in such circumstances, the private key required to sign a usable binary must be made available. This is especially important as we get more systems running embedded Linux and other GPL’d software and manufacturers who want to restrict users to using only official firmwares.
My new thoughts on the GPLv3 are that it is definitely a good thing for Free Software and I shall be licensing all my future software under it (my existing software already has the ‘and, at your option, any later version‘ clause, since I trust the FSF).

My favourite talk of the event this year was Mark Spencer‘s talk on Asterisk. It’s great that we have a completely Free and feature-rich drop-in replacement for expensive PBXs. It can do voicemail, menu systems, conferencing and everything else you could possibly want. I really must get around to installing it and giving it a try, since I’ve been using VoIP for a while now. I also like the sound of Asterisk’s IAX protocol, since it can cut through NAT without any of the messing about required to make SIP work. The talk was followed by a tutorial on getting it installed and configured, which made it seem relatively straightforward to get a basic system going, which I was rather surprised by.
However talking with Mark at the airport on the way back, it seems that Asterisk only supports interface hardware manufactured by Digium, the company founded by…. Mark Spencer. As a result, OpenPBX was forked off from it. Maybe it should be OpenPBX I try then, rather than Asterisk.

I have to say that there weren’t really many talks which appealed to me on the Sunday. I did however go to the talk on Subversion. Basically the conclusions were that CVS sucks and Subversion rocks, so it’s time to convert my projects to it and begin using it to manage my website (it should stop me accidentally deleting something crucial, not that I’d ever be that stupid of course…).

There was also a talk on Beagle (the desktop search app) which confirmed what I already knew: Beagle is great. According to Jon Trowbridge ‘Search should be everywhere’, and so it should. I did play with Beagle before, but dumped it since it didn’t have a KMail backend (which it now does) and because it wasn’t available in my distro (and it has a load of dependencies). It’s now in the current version of my distro so I must give it another try.

I went to a few other things, but nothing particularly worthy of note. There were a few machines running to demonstrate Xgl. It’s all (pointless?) eye-candy: change virtual desktops and the whole screen rotates as if it was a cube with a desktop on each side; drag a window and the edges bend and curve; minimise/maximise a window and it bounces around… Pretty cool to look at, but not something I’d really benefit from having on my desktop.

I took some photos at the event which are now in my photo album. Unfortunately my camera is useless in anything less than perfect light, so many of the photos are pretty poor quality. As I wasn’t feeling great I also wasn’t very motivated to take photographs, so there aren’t very many or any from a decent angle (which would have required getting up…). I must take a decent camera next year.

Related Posts:

UltraSPARC T1 to be GPL’d?

It seems that Sun are looking at using the GPL for their soon-to-be-open-sourced UltraSPARC T1 processor. I figured I should write something more about the processor, since they added me to the blogroll on opensparc.net.

They’ve also started a public consultation on which license they should use. This is great, because I suspected that they’d just release it under the CDDL and leave the users to like it or lump it, like they did with OpenSolaris.

Sun summarise the reason for open sourcing the processor as the following:

The goal in simplest terms, given the fact that Niagara is a breakthrough technology, is to offer it to everyone (as it is a compelling invitation for people to adopt) so that it becomes the industry standard for 64-bit CMT.
New designs/chips/SOCs for new uses that can be brought quicker to market by leveraging something that works.

In English, that translates into:

We want everyone to be able to use it, in both free and proprietary systems. We want to beat Intel/AMD, but we know that SPARC as an architecture is declining (I’m guessing here, but it’s probably true) so we need another way to do it.

If they want it to be usable as part of non-free systems, they should be using the LGPL rather than the GPL. I think the LGPL is the right license because it: -

  • allows free, unrestricted distribution of the code
  • ensures modifications are made available (if the modified code is distributed)
  • allows use as part of non-free systems without requiring the rest of the system to be under the same license

The GPL would require the rest of any system the code is incorporated into to also be released under the GPL. This would either: increase the amount of free hardware out there OR stop people from using the processor, thus reducing the community around it and slowing down the development of it.

While I’m somewhat extremist when it comes to Free Software (insofar as I believe that the GPL is always the right license for software), hardware is a different matter. There are a number of important differences between hardware and software, the key ones being: -

  • Hardware modules are not dependent on each other – each module is essentially independent and doesn’t require anything external to do it’s job (accept inputs, do some form of processing, set outputs). Software is modular too, but most software modules are built to work with other modules.
  • Most hardware systems developed as code are developed in proprietary development environments (when I say proprietary in this case, I don’t just mean non-free – I mean you have to sign an NDA just to use them). This could cause all sorts of legal issues relating to the publication of the finished system (under any license).
  • Most hardware is distributed on custom ICs – if your hardware has a bug, you can’t just get the source, recompile and off you go. You need the right software and hardware to be able to do anything. This doesn’t necessarily mean that access to source code isn’t as important for hardware as it is for software, but it’s worth considering.
  • In Europe, software can’t be patented (in theory at least), but hardware can.

Given these differences, perhaps no existing license is right for hardware – maybe we need the GNU Hardware Public License to address the unique issues associated with it.

For example, does having multiple modules on the same chip mean that they’re a single work even if they’re completely unrelated and don’t talk to each other? If two modules on a chip do talk to each other, are they classed as a single work or as two seperate works? What constitutes source code – the original source in the hardware description language, the compiled form ready to be burnt to a chip or a diagram of the individual gates on the chip? As far as existing licenses are concerned, all could be classed as source code yet they’re very different things. Let’s not forget patent issues as well – in Europe software is not patentable, so the original source code for hardware cannot be covered by patents. However there is nothing to stop you from patenting hardware – what happens if there’s a patent which only applies to the finished hardware? For example, by using and distributing source code you don’t violate the patent, but as soon as you burn it to a chip, you do (e.g. the patent is for ‘A piece of hardware which does X’). These issues mean that should existing licenses be used for hardware source code, the freedoms we though the license was guaranteeing are no longer guaranteed.

To summarise, I believe that of the existing licenses, source code for hardware should be licensed under the LGPL. But what we really need is a GPL-like license specifically for hardware, because it is my belief that existing software licenses are not sufficient. I don’t have all (or even many) of the answers, but what I do know is that open hardware, like open software, is the future and we should be working to encourage its development and use.

Related Posts:

LugRadio, Creative Commons – when is free not free?

Nice to hear episode two of LugRadio today, named the “Donut Driven Dialogue” – and I even got a mention. Yay! The guys have clearly put in a lot of effort and got (another) great end result. It’s a shame we have to wait two weeks for the next episode!
There’s a bit of talk about *BSD on the show, with some positive and negative comments. My only real experience of BSD was when I had a go with FreeBSD. I soon found myself there compiling my bash shell, GNU Make and basically all the other GNU userspace stuff, which I discovered I just couldn’t live without. So I thought, what the hell, I may as well save myself some time and just stick with Linux! I can see no benefit whatsoever of running FreeBSD over Linux.

I’m currently working on my EtherMap Project adding the new features I promised with the release of 0.05b. So far I’ve implemented the ability to associate names with IP addresses. The next task is to make the result table structure more dynamic (preferebly be removing the tables completely). Then I’ll be ready for the next public release which will be 0.06 stable.

I was reading an article by Jono Bacon in his O’Reilly blog entitled Art, licenses and freedom. He talks about why an Open Commons license was chosen for LugRadio rather than a “truly free” license like the GPL. I agree completely with the points he makes, even though I strongly believe in free software. The reason I think CC is the right license for LugRadio, and for my blog content, is basically because these works simply aren’t designed to be changed by third parties. If someone took LugRadio, or indeed my blog content, they could chop it around and easily misrepresent the opinions and views of the original authors. It’s also quite reasonable to expect to have the work attributed to the author. I don’t think that either of these requirements hinder the end user in any way. As Jono points out, it wouldn’t be considered reasonable for viewers of a film to change the ending to suit themselves. It destroys the original intended meaning of the work, as intended by the writers, cast and director.
Just because something is not GPL, does not mean that it isn’t free. And just because the GPL is great for software, doesn’t mean that its great for everything.

Related Posts:

WordPress Themes

Bear