Monday, November 27, 2006

Tivoisation & rational FUD

Most of the stuff I've read or listened to from RMS is full of populist rhetoric, which I don't really find interesting. Some of it is priceless, but to me it's not usually worth the effort of sifting thru all the preaching to find the gems.

However, I very much liked his talk from the 5th International GPLv3 conference. In this one, he seems much more to-the-point. It's a very good explanation of the modifications in GPLv3 and the intentions behind them. (All of which are Noble and Good, but I think some of them are too far-reaching.)

One such modification/issue is "tivoisation." Stallman spells it out:

"They [Tivo] provide the users with source code and the users can then modify it and compile it and then install it in the Tivo. That's where the trouble begins because the Tivo will not run modified versions, the Tivo contains hardware designed to detect that the software has been changed and shuts down. So, regardless of the details of your modification, your modified version will not run in your Tivo."

I'm going to make a somewhat personal analogy to explain why I'm okay with the above scenario. I agree it's a reduction of freedom, but I'm okay with that (as I am with just about any other voluntarily-chosen freedom reduction).

My wife is a budding professional photographer (could be full-out professional if I ever finish her website!). One day I floated the idea to her of giving all of her clients (in addition to photo print packages) all of their photos in digital form on a CD so that they could do whatever they want with them - modify, copy, print, etc. She had a ready and pertinent response...

If one of her clients had a CD full of high-quality digital photos, and then made crappy modifications and walked down to a crappy photo print shop, they'd have some crappy photos. When one of their friends goes over and sees a bunch of crappy photos, they're bound to ask, "So, who took all these portraits?" and not, "Why do these photos look like crap?"

So, it's in her best interest NOT to allow modifications and printing - she has rational fear, uncertainty, and/or doubt about giving the digital source files to clients. The same might be said for Tivo. If someone has modified their Tivo box to look like crap, stop working, or whatever ... it reflects badly on Tivo to anyone else who might see that behavior as Tivo's doing. Tivo has rational FUD about giving all that freedom to its customers.

Like I said, this is not a "maximum-freedom" scenario, and I don't mind that the goal of GPLv3 is to maximize freedom, rather than maximize popularity. But I think GPL zealots would do well to consider that the prevalence of these kinds of situations and motivations induces some people into some legitimate FUD about some GPL stances & clauses. Like, maybe Tivo has more FUD about using GPL in the future, now that they're getting bad rep in the Free Software camp.

Wednesday, November 08, 2006

The Long Tail (of|and) Open Source Software

I've been wanting to write this post for a while now, so it's going to be long, and it's probably going to take a while to finally get it out the door.

I'm a big fan of The Long Tail - both the book and the blog. Chris Anderson has had a couple of posts dealing with the long tail of software - one about JotSpot, and one about AppExchange. I agree that both of these companies/products are very much centered on Long Tail software.

However, I've want to try to make the point that open-source software is very Long Tail-ish, and has actually been so long before these newcomers were even a twinkle in their respective entrepreneurs' eyes. I also want to show how open-source can be a better (maybe the best) platform for Long Tail software. (Though I think both JotSpot and AppExchange are Very Good platforms.)

One thing I'd like to use in support of my opinion is some actual data...

A nice long tail graph showing the top 100 SourceForge projects, and their total # of downloads on the y-axis. I think this is a crude, yet reasonably accurate, way to show demand for open-source software. Though this graph shows a tail, it is only the top 100, which is actually only the head. I'm using it here to show the SF equivalent to Amazon's "Harry Potter phenomenon" - a couple of super-hits that dominate even the small head of lesser hits. At SF, we call it the "eMule effect."



Here I've chopped off the top 2 super-hit projects, and I've expanded the observation window to 2000 projects at once. (I can't go much higher than a 2k window due to technical limitations on the workstation machine I used to create these graphs, and this window size still demonstrates what I want to demonstrate) But notice how the expanded window size, though still small relative to the whole data set, displays a more pronounced tail shape.




Beginning where the previous graph stopped, this one is showing projects ranked 2000-4000. So, while moving down into the tail region of SF projects, the tail-ish nature of the data is starting to smooth out to a more linear demand curve.








Here's the end of the tail - all the way out at project rank ~62,000. This is, of course, the essence of The Long Tail - that there is at least SOME amount of demand for even the most niche or obscure products. (I should note, however, that SF.net has 130,000 registered projects. So nearly 50% of the projects have no downloads - most likely because those projects have not released any files ... yet?)





So, I think the above data and graphs are sufficient to demonstrate the Long Tail nature of open-source software (assumming SF.net projects are a valid representation of the larger open-source body of software). But why would open-source be a better platform for Long Tail software? To answer that, I'd like to use some of Chris's own ideas.

For the purposes of this argument, I'm calling the "best" platform whichever platform is most aligned with the 3 forces which add economic and cultural significance of The Long Tail. Because, as these forces work, they maximize the value of all Long Tail consumers.

1. Democratization of the tools of production. This is an easy win for open-source over JotSpot or AppExchange. In both cases, the tools of production are held in the hands of single companies. JotSpot or AppExchange tools are tied to their server, their tag language, etc. For open-source software, nearly every tool you could ever need is totally free. The tail can be lengthened much faster this way. I doubt JotSpot or AppExchange will have 100k+ custom applications within 10 years. (Though they don't need to for their more-limited purposes.)

2. Democratizing distribution. Another easy win for open-source. All JotSpot or AppExchange products are married to that distribution channel. And in those cases, it isn't simply "the internet" - it's specifically those application domains on the internet. If you want more access to those niche products, you're locked into the JotSpot or Salesforce.com distribution channel. Not so with open-source, which can be found in many places, and isn't locked into any of them. I wonder how far one would get trying to take their AppExchange software product solo before Salesforce.com sued?

3. Connecting Supply and Demand. The only force in which open-source is not a clear winner, and therefore, IMO, the most pressing need facing the open-source community. However, I would point out that neither JotSpot nor AppExchange have demonstrated an ability to perform this well, given the tiny sizes of their "tails" - JotSpot with only 8 add-on applications, and AppExchange with only 400.

So, trite but true: 2 out of 3 isn't bad.

And I think it should be publicized how open-source software has already created and sustained a Long Tail of software for many many years now.

Thursday, November 02, 2006

Windows EULA

Okay, just so people don't get the idea that I'm a supporter of Microsoft-style EULA's (though I'm also not a big supporter of GPL-style EULA's)...

Paul Thurrott is a man, just like you, except he has roots and fronds because he is also a plant. (Thanks to Tycho for that word-play)

Matt is funny and accurate as usual, so I'll continue on from Matt's thoughts.

Paul uses the same tactic with the other "newer, bigger than ever!" restrictions...Re: "Windows Transfer Rights" he says:
What's more amazing is that the number of people who actually try to do this is incredibly small. Since you can't transfer a copy of Windows that comes with a new PC anyway, less than 10 percent of all Windows licenses are transferable at all. And of those, only a tiny percentage of users have ever tried to even transfer a Windows license once. The only people that really need to do this regularly are hardcore PC enthusiasts who change their machine configurations regularly. In short, this new restriction isn't all that new and it won't affect any mainstream users.

To me, this just highlights the fact that Microsoft really doesn't give a crap about "developers, developers, developers, developers" anymore. Try calling up Microsoft with a technical programming support question sometime. We had a problem with .Net Framework for Windows CE a couple years back and when our main .Net engineer called MS, they basically said, "Tough. We'll try to get around to it in the next service pack."

I also like his similar "rebuttal" to the "Adding and removing PC components" issue.
Fewer than 5 percent of PC users ever open a PC case let alone perform major hardware surgery. But if you're one of those guys who regularly upgrades your PC's hardware, you'll be happy to hear that instances of forced reactivation because of hardware upgrades are less frequent under Vista than they were under XP. More to the point, this is another one of those issues that only affects a tiny, tiny percentage of Windows users.

More to Paul's point - new restrictions aren't really restrictions because most Windows users won't be affected. Uh, sure .... that makes all kinds of sense. Maybe thousands of developers, power-users, and enthusiasts are small in comparison to the entire Windows user-base ... but that doesn't really change the fact that these new restrictions are indeed that - restrictions.

I also have to rip into Paul for the notion that hardware upgrades are less frequent under Vista than Windows XP. I don't think he and I have been reading the same industry comments. So maybe it's not Vista's shiny new algorithm, but the fact that most Vista users (at least 90% are OEM, remember) users will have to buy a new computer just to run Vista?! Again, that's just a whole bundle of sense from Mr. Thurrott.