29 Jan 2001 ModernRonin   » (Observer)

A brief meditation on licenses

I've taken on a small embedded systems project in the last week or so. Something to monitor cabinets in a data center and report the status back to a serial port. Kid stuff, really, at least for any embedded engineer. I took it on mostly because I think it's going to be a good learning experience, and because it's winter and I have cabin fever bad. Having something to do will help me maintain my sanity in these grey months.

However, I'm trying to figure out how to license this thing once I have it working. What I would like to do is to sell of all the schematics, code, docs and IP rights to the company that wants this device. I would do this because it will save me trouble in the long run. For instance, if they own this thing then THEY have to worry about how to produce it in volume. I deliver a working prototype and I'm done with it. Similiarly, if they change it and it starts to go whacky, then it's their problem. I won't be getting any support calls at 2am from a frantic sysadmin. In sum, I want to do the fun stuff (writing the code, doing the board layout, testing, etc...) and leave the boring gruntwork (volume production, support) to someone else.

So what's the problem, you may ask? Well, the problem is twofold. The first part of the problem is that I don't want to let go of this thing completely. Or rather, I want to keep a copy of it for myself so I can show it off to my geek friends, and to prospective employers if I end up going into an embedded systems job. Secondly, in keeping with the open source philosophy, I'd like to give away the source code and board schematics free on my web page. If I give this thing away completely to the customer, they are highly unlikely to let me give away the plans. I know how these corporate bastards think. "We paid good money for this thing, so we should be able to screw everybody and charge whatever the market will bear for them!" Which would be fine with me, so long as *I* was still allowed to do as I wished with it - including give it away if I feel like it.

So what do I do? Well, I've come up with a license that I think will address most of my problem. And I wanted to ask people what they thought of it. So here it is. I call it The Eternal, Unrescindable, Unlimited License, and it goes like this...

I, Ben Cantrick hereby grant Company X an eternal, unrescindable and unlimited right to clone, use, modify, and sell the following device, Device X, as well as all associated documentation and designs delivered with it, this 21st day of Januaury, etc, etc...

Yeah, yeah, I know what you're saying - "Why go to all this trouble? Why not just use the GPL?" Well, first of all, because I don't want to. Because I'm a stubborn bastard and I like doing things my own way. I tend to learn a lot more that way. So neener-neener boo-boo, all you Stallman-worshipping pinko commie bastards! ;]

Secondly, because I want to address a frequent criticism of the GPL - that in preserving the freedom of the user to modify code, it takes away from the freedoms of the programmer to do what they want with their code. If this company I'm selling this device to wants to improve my designs and re-sell this thing as a proprietary device, that's fine with me. They can make these things in volume and sell them for $1000 each for all I care.

And the reason it's fine with me is because my EUU license still preserves my freedom to put the source code and designs up on the web and give them away for free. Notice that while I'm letting them have a copy of everything about the device, I'm not letting them have rights over distribution. I give them one of the devices and I give them a copy of all the associated docs and designs, and grant them the right to do as they please with it - including sell it, modify it, etc... But I do not give them the right to tell me "now that you've sold it to us, you can't do what you want with it any more."

So that's the license, and that's my plan. What do you think? Anything wrong with my license? Any reason I should use the GPL instead? Do you think the company I intend to sell this thing to will go for it?

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!