Over GPLed

Last week, it was a Python template engine. This week, it’s JavaScript tabs library. It seems to be a fairly common occurrence that people release developer-oriented open source packages that come with a GPL license. Unless you intend to create a business selling your software with a different license to business (the Sleepycat model), this just seems like a way to severely restrict use of your library. The only people likely to use libraries like those that are licensed under the GPL license are people that are writing open source (GPL) applications. If that’s what you want, fine… but, I think it’s better to aim higher. (In case you read no further, those two packages have since relicensed under MIT style licenses.)
I understand the allure of the GPL. “I’ve put this thing out there for free, and so I should benefit from the changes other people made!” (I’m ignoring the “software should be free” philosophical argument for now.) I think it’s a mistake to think that just because something is released under a liberal license, like the MIT license which is what I use, that companies won’t contribute their changes back to the project.

Creating a fork of a project is a pain. You have to reintegrate changes every time there are improvements in the core project that you want to take. For a company to maintain their own internal version of your project effectively means that they have their own fork of it. That just doesn’t make good business sense. A company could choose to take your project and produce some spiffy commercial version. Odds are, though, that they’d still release changes to the core system back to the project, rather than maintaining a private fork.

I think that most people who choose the GPL for a library do so because it’s a license they’re familiar with. That’s the point of this post: hopefully, more people creating libraries will recognize that a very liberal license like MIT or BSD is the way to win users. The authors of both of the projects that I mention above have agreed to relicense under MIT-style licenses!

I should also point out that the LGPL is somewhat ambiguous when it comes to dynamic languages. If you really want a license that requires the open source release of changes on a library that you’re releasing, you should think about the Mozilla Public License. (Update: The CDDL appears to be a version of the MPL that is designed to be more easily reused. That’s a good one to consider.) That license is not vague: only the files in your distribution are required to remain under the MPL. So, the code is free to use for commercial purposes, but any changes to the files that you distributed also need to be released under the MPL. I’d still recommend going with an MIT license in general, but at least the MPL is clear in its effects.

By the way, I have no problem with using the GPL for applications. Applications released under the GPL can be used for all kinds of purposes, and it’s reasonable to want changes to the application to be similarly licensed.

Update: I eliminated the use of the word “viral” above, because I didn’t intend to make a negative point on the use of licenses that impose restrictions on distributed versions of software. My point is that many choose these licenses without being fully aware of the ramifications.

It is also clear from the comments that I never got back to the “software should be Free” (software libre) argument.

As mentioned in the comments, not everyone is looking for the broadest possible adoption of their code. Some people specifically have the belief that all software should be free to use, upgrade and share. People are certainly free to have and exercise that belief by licensing their software under the GPL. If I asked someone to relicense and they told me that they chose GPL to ensure freedom of the software, I wouldn’t argue any further. Those people have chosen the GPL for the right reasons.

The fact that I have spoken with two people in the past two weeks who relicensed their software shows that there are people out there choosing the GPL for reasons other than support of software libre.

Camtasia for the Mac

Camtasia Studio is the ultimate screencasting tool. For those of us using a Mac, we’re stuck with Snapz Pro X. Snapz is a fine screen capture tool, to be sure… but take a look at the features you get from Camtasia, and you’ll see that there’s really no comparison. Camtasia’s number one problem is that it’s Windows-only.

I’ve seen quite a few people out there using Macs to produce screencasts. TechSmith has had a hard time justifying the effort to make a Mac version of Camtasia. But, Mac users often seem to be more willing to pony up for a good piece of software. That, and there are quite a few developers running on Macs now. Maybe the market for Camtasia on the Mac is bigger than what TechSmith thinks it may be?

If you’d like to see Camtasia for the Mac, consider sending them a feature request.

Update: Camtasia for Mac is now out.

iWeb highlights the dangers of being an ISV

Yesterday, Apple introduce iLife ’06, which includes the new major component iWeb. From the pretty pictures on the Apple site, iWeb looks like a nice product. It’s nicely integrated with the other parts of iLife, making it easy to publish all of the “stuff” that you collect up digitally. As an independent software developer, though, I can really feel for the guys at Karelia. Their Sandvox website tool was set to enter beta soon. They moved up the beta as soon as they heard about iWeb, but iWeb’s emergence is going to make things very tough on them, I think.

Safari’s RSS support wasn’t really a risk for Zesty News. But, Zesty News is general enough that some large company could decide to target the same features Zesty does. The safest way to be an ISV is to go after a niche. But, unless you’re really into that niche, that’s certainly not the most fun way to be an ISV.

Update: it’s worth noting that a huge difference between Sandvox and iWeb is that iWeb only publishes to .Mac and Sandvox can publish to any web hosting company. That’s a big difference.

Looking for a Zesty News partner

As those who have been following my blog for a while know, I’ve been working on a product called Zesty News. Zesty News is an RSS/Atom feed reader… that means, it brings the news to you. No need to manually track dozens of sites on your own. Not only will Zesty News bring the news to you, it tries to figure out which stories are the most interesting to you, and puts those at the top. This is important, because it’s entirely possible that you’ll have lots of new content to look at every day. Probably more than you have time for, which means that you really want to get to the good stuff that comes in.

Zesty News works. It runs on Windows and Mac. It keeps a local database of articles (so it can be used offline). It integrates with Internet Explorer, Firefox and Safari. But it’s not done. There are some bugs, and some important missing features. There are many great ideas that I have for it that have yet to be implemented.

Those who have followed Blue Sky On Mars will also know that TurboGears sprang out of my work on Zesty News. There’s only so much time in the day, and the TurboGears juggernaut is consuming nearly all of it. I have so many irons in the fire on the TurboGears front, there has just not been time to finish up Zesty News.
Zesty News is the beginnings a great product in a hot area. I’m looking for a genuine partner to work with me to bring Zesty News to market. I’ll continue doing marketing and sales work on the product, and my partner will be responsible for the software itself. This is not a paid job that I’m offering: it’s a chance to get a winning product off the ground in exchange for a share of equity and profits. My intention would be to start a new LLC to support this new phase in Zesty News’ life.

If you’re a software developer with the time and inclination to work on this product and help it be a success, please send me email (kid @at@ blazingthings .dot. com) and we’ll talk further.

Update: For those who haven’t been following my blog and are not coming here from TurboGears-land: Zesty News is built in Python. Using py2exe on Windows and py2app on the Mac, it provides a “native-feeling” experience when running the app, but the main user interface is in the browser (which I actually think is a great way to do UI for an app like an RSS reader).

Practical software entrepreneur

Ian Landsman is right on in 4 Rules for the Practical Entrepreneur. This is a must-read for anyone considering making the jump to being a software product freelancer. Falling into Ian’s “visionary” category is fine as long as you know what you’re getting into.

With Zesty News, I broke one of Ian’s rules: it’s a consumer product. Kinda. It appeals to both business and consumer users, so the question then becomes one of marketing and how you draw the business users in. I’ll be writing more about Zesty News soon (believe it or not).

With TurboGears, it’s hard to even draw parallels with the kind of thing you just “go off and start”. I’m forging off into some new territory (for me) and it’ll be interesting to see where I end up.

Too many choices can be bad

Every time a prospective customer needs to make a choice, you open up the possibility that the choice will be to head somewhere else.

A couple months ago, Apple offered: the iPod Shuffle, iPod mini, iPod and iPod Photo. I’m not going to count the U2 iPod, because that’s more of a niche gimmick sort of thing. Since then, Apple has introduced two new models, but reduced the number of choices: iPod Shuffle, iPod nano and iPod. These models come in at nicely spaced price points, and it should be pretty clear to a potential customer which one they should buy.

Contrast that with Creative’s lineup. Desparate to win some market share, these guys seem to want to throw a ton of products at the wall to see which stick. At first I thought they had 9 models, but then I noticed the little arrows. They 9 Zen models, 11 Muvo models and something called the “FX200”.

From some reviews I’ve read, some of these models are actually quite good. Of course, it’s impossible for me to remember which of the 21 models those are. Do stores really have shelf space for 21 models, some of which come in 10 colors? How can they profitably produce so many models?

Apple appears to understand market segmentation. They offer an entry level device, an ultra portable skip-proof device and a full-size model with good storage capacity. It’s crystal clear how Apple has segmented their market, which means the choice of product will be crystal clear to the people who are prospective Apple customers. Apple’s 75% share of the market proves that their segmentation isn’t leaving many users out.

I challenge someone to explain Creative’s market segmentation. From the photos, it would appear that the Zen is for businessmen who thought it was a cell phone. The Zen Micro is for stylish women who bought the player to show off that they’re in the 21st century. The Zen Neeon is for women who can’t make up their mind and will buy all 10 colors. The Zen Nano Plus is for the trendy (but not rugged) outdoors types.

With a product lineup like that, it’s no wonder that Creative will need to resort to lawyers to make a buck.