Skocz do…
There has been a discussion about extensions for Opera recently which made me realise something about Free Software. I may have been aware of it subconsciously but now I can name it:
In the long run, Free Software will win because of the long tail.
I first heard about the long tail not so long ago during an university lecture about Internet data mining. It was used in a context of word usage frequencies in natural language.
There are the so called “stop words” like “to”, “be”, “or”, “not”, etc. which are used more often then any other “normal” words. They are usually stripped from the text before any analysis is done which gives good results until you meet a Shakespeare fun.
On the far end of the graph – the long tail – there are words so rarely used that giving an example would double their frequency. Similarly, the long tail is often stripped away reducing costs of algorithms.
The very same situation is with features. There are some that all users want (for instance everyone wants a web browser to display HTML documents) and some that only a few people need.
Developing a feature costs resources so two business models for proprietary software naturally emerge:
The two models can produce an application of similar complexity and therefore also cost expect cost of the former is divided among a handful of users whereas the later's among thousands.
In both cases, company has to decide which features to implement. With the former model it's easy – client says what he wants and that has to be developed. With the later the obvious decision is made: the long tail is cut out. In this article I'll concentrate on this strategy.
Lets take Opera as an example. The Opera team (ie. Opera developers) makes, in my opinion, a great job. Opera is truly remarkable and innovative browser. But with only so many developers they have to cut the long tail and concentrate on the “head” as I call it.
However, probably most of the users want some feature from the long tail. There are widely requested things like OpenPGP support (back from 2004) and better Opera Link as well as more unique wishes like switch to tab on mouse release (which in Free Software project would be fixed in matter of hours) and middle-click in menus.
Because only a small set of people can change the source code of the browsers such features may get never implemented leaving most of the users partially unhappy.
With Free Software it's different. If there is a programmer among people who desire some feature it has a big chance of being implemented. >In corporate world it's even more so. A company can hire someone to develop something without being at the authors mercy.
And yes, I mean what I say. On numerous occasions I have patched Free Software code because it lacked this one function that probably only I would use. And guess what, some of the features got to the mainline code and now everyone can use them.
The point is that the whole spectrum of features is being developed. At least some of the functionalities form the long tail are being created leaving users happier. And that with little or no cost on the original developer's side.
Wouldn't extensions solve the problem?
I'm under the impression that extensions are the domain of Free Software. It's true I don't use proprietary software that much nowadays (as far as I can tell, Opera and Flash ore the only ones) but from the time I did I remember that only a handful of proprietary software had a many configuration option not even mentioning extension mechanism.
This might be the very same problem all over again – the company lacks resources needed to create a good extension API. On the other side, if users really want one they will develop one in Free Software applications.
Even if a proprietary application were to have an extension engine one like Firefox has it would be hard to maintain especially if backward compatibility were desired.
With Open Projects, API changes are maybe not welcome but at least understood by the com unity since everyone sees why the change was made. Moreover, if backward compatibility is really needed someone will develop it.
Therefore, even thought proprietary software may get some extensions mechanism, it will never get the extensibility that a Free Software project may have.
“It's not a problem,”
you may say “there could
be many web browsers each with unique set of features.
Isn't choice good?”
There is some truth in that but you can parse an XML document in only so many ways – namely one. No matter of the other features there are things that all will have to do in similar way.
Proprietary here means each company will have to write it by themselves lagging behind open browsers which can choose from already existing Gecko or Webkit. Choice is good but there is no point in writing the same piece of code over and over again.
It's true that probably vast majority of users rarely ever customise their applications but I still believe that many, especially developers, want their tools to do what they want and as such they will pursue 'till they find the perfect solution. This, among other things, will drive Free Software development.
Yes, my original claim that “Free Software will win because of
the long tail
” may be a bit of overstatement but
still – there is something in it, don't you think?
W kategoriach:
Słowa kluczowe:
imho being extensible is not a privilege of FS, think about ZWEI, InterLeaf, VisualAge ;) It's not a problem of resources but rather approach: idea of accessible & documented extension API do not fit with proprietary software (one can sell basic product with limited functionality for average Joe, even more money can be earned from proprietary extensions).
Od dawna nie napisałem zdania po ang, mam nadzieję że idzie się do myślić o co mi chodzi ;)