Monday, March 27, 2006

WalMart and Free Software

Walmart and Free Software

Walmart is know for it's "every day low prices." Through ruthless supply chain management and aggressive negotiation with its suppliers (suppliers are supposed to reduce their prices by 10% annually to Walmart). Naturally WalMart has quickly adapted to outsourcing taking advantage of the cheaper labor markets for manufactured goods in China and Indonesia. In fact WalMart's suppliers almost have to go overseas because of the aggressive annual price cuts that WalMart demands. This means that WalMart through shear size is able to drive down prices on retail goods until they are completely commoditized.

What's WalMart have to do with free software? Well they share several things. The free software ecosystem has always taken advantage of the global labor market. Since free software is indeed free in price, it allows someone to simply download and use the software. This means for years now open source software has taken advantage of the Internet and Internet development best practices (mail lists, wikis, distributed version control systems, distributed program management).

Furthermore since free software is free as in price and free as in source it has the effect of commoditizing software. For proprietary software companies this is extremely corrosive on those incredibly high margins. What's interesting is that free software is slowly climbing up the corporate software food chain, taking things that previously had value and reducing them to a commodity and then eventually to a free item.

Let's take TCI/P stacks. Once upon a time this was something that you actually paid money for. Eventually it was incorporated in the Windows operating system (please note that MS used the BSD stack - they didn't actually write their own). Now every os is expected to have one without too much effort.

Recent moves by Oracle indicates that they understand that MySQL is beginning to move into the lower end of their market. So they purchased InnoDB which provided MySQL with a transaction engine. They are still attempting to purchase JBOSS - although it sounds like from my sources that the JBOSS guys want FAR too much for their company (although since they are profitable - it's probably a good negotiating position to stake out).

Since Free Software is a global group of developers, it means that even if free software development is stopped in the United States, it will continue in the global software marketplace. In the end this is a good thing for consumers of software as free software represents a great competitor to the older way of doing things. Commoditization is a good thing. After all does a Office Suite really need to cost $499? The answer Constant Reader is no.


Sorry for the delays
when posting early this month. I was doing some landscaping when I dropped a 150 pound rock on my hands which made typing nearly impossible.

Wednesday, March 22, 2006

Java Clean Room Development

Software Development has an article covering the fact the JVM has nearly been completely reverse engineered and they have a clean room implementation

According to leaders of the Apache Software Foundation project to create an open version of the core Java Standard Edition components, Eclipse is now running in a clean-room JVM developed under the project.

This is a pretty big step forward for Java which while being relatively open still suffers from the fact that it's controlled by Sun Microsystems. This means developers seeking to use Java technology in new ways are dependent on Sun's goodwill and ability to develop a JVM for their environment. With a clean room implementation you can expect to see additional development of the Java platform in new ways. A clean room implementation that is Apache license compatible gives developers more flexibility to do something new.

Having a true free software solution can often act as a magnet for developers, especially if there is a significant amount of work that has already been done. The Harmony is certainly such a project as a reverse engineering of the Java Virtual Machine is well beyond the scope of most single developers even if they are Java developers. Reverse engineering is an art in and of itself that most developers are not familar with. There aren't college courses in it but it's certainly one of the great engines of growth in SIllicon Valley. The creation of the commodity PC market rested largely on the reverse engineering of the bios of the first machines. Without it I imagine that customers would still be locked into the single vendor systems, each with their own proprietary parts with systems regularly costing between $3,000 - $5,000.

Commoditization is a powerful force in driving down prices and driving innovation through increased capacity at a decreased price. It's one of the things that the free software movement does to traditional proprietary software vendors that makes the economics of free software so compelling.

Wednesday, March 15, 2006

Artificial Scarcity and Web 2.0

I was looking at Joel Krause's new company JotSpot. Jotspot is a company that offers online wikis, project management a blog and more. Jotspot is a fairly typical web start up in a way. Joel is a former founder of Excite who obviously understands the importance of web collaboration. In fact since founding Jotspot his blog posts have dropped down to nearly nothing. I hope that doesn't mean things aren't going well. Most people tend to use their blogs to promote their companies. He's had the same post up since June 2005 and it's highly relevant to my current post and it notes something about the trend in hardware and software that cuts against the expectations of many VC firms.

Here is JotSpot's pricing page (Which as of this posting is down - So much for outsourcing my wiki to them.) In many ways it's fairly typical of a web startup these days. It has four different pricing levels from free (which includes 100 pages) to an corporate edition which runs $199 per user per quarter. One question I always ask myself is "Why such a convoluted pricing structure?" The answer invariably comes back to the VCs attempting to penetrate the Fortune 500 market in order to REALLY make their money. This is a new mistake in the new economy and here's why.

Here's Joel's original post on why it's a great time to be an entreprenuer (Also judging by the number of spam posts to his comments section I can certainly say the blog is dead - or at least not actively monitored.) Joel notes that the decreasing cost of hardware 1/100th the cost, free infrastructure software (LAMP), search engine marketing (SEM) combined with the access to the global labor market means that launching a start-up is easier than ever. However these same trends also mean that the cost of providing these services such as Jotspot are also significantly lower. Furthermore the marginal cost of adding additional pages to a wiki or additional services is so close to zero so as to be not measurable. This is the real problem with Jotspot's pricing. The initial free wiki has been so limited as to be useless. You should simply offer the same set of features to each user. Limiting the feature set for premium users is often a bad idea as people are not drawn into your product. You could offer the free users the same set of features as you corporate users, because the marginal cost is so low as to be zero.

I also realize that in many ways you are letting users self select their own pricing level - but that's not exactly true. What is very common in many of these VC funded companies is that they are trying to create an artificial scarcity of features in order increase revenue. What many of them don't realize is that Moore's law and forces Joel notes in his post are pushing in the other direction, namely to offer the greatest number of features at the lowest possible price (Ah the power of the free market). So the artificial attempt to segment a web service like Jotspot into varying feature sets and varying degrees of functionality is really a bad idea. Instead of users getting addicted to all your features, you are only offering a sub-set of the full functionality.

Since it doesn't actually cost anymore to offer additional service/functionality/features in a web service, offer you intro users the full feature set helps insure that they will be more likely to continue to use and spread the word on your software. Additionally instead of membership fees (always a dubious thing) you should rely on advertising such as Google Adsense. Despite the low click through rate of Google Adsense, you are better off capturing more eyeballs. While this might sound like an early dot-com business plan, it's important to remember, launching a start-up is much less expensive than it was 10 years ago. Everything is much more cheaper and more powerful. Let's also be realistic about start-up costs. If you are worried about covering a $100/month hosting bill on the entry level - I suggest you get some more money before you start.

So if I were in Joel's shoes, I would make sure that I get as many users as possible and then flip the company to Yahoo or Google. Just don't spend too much money advertising and rely on users word of mouth to help sell your web service. After all Google has never bought a television, radio or print ad - yet they are the world leader in search.

Thursday, March 02, 2006

The fights are public

One of the differences of open source software is that is frequently ignored or missed is that disagreements, like the code are public.

In a typical company many of the same disagreements occur between principals but it's never seen. The open nature of free software means that every almost always airs their laundry in public.

Let's face it engineers often have strong opinions of certain things. Typically they will express their opinions straightforwardly. This can sometimes lead to conflict.

For example Richard Stallman is a man with a strong set of opinions. While I don't always agree with his approach (I agree with many of his ideas) he is certainly a figure who often finds himself in one spat or another with a another member of the free software movement. For example his current disagreement with Linus Torvalds over licensing the kernal under GPL3 is just another in series of what is relatively small disagreements in the free software movement.

Since these spats occur over publically available mailing lists, they are much more visible than the debates that occur at Sun Microsystems, Microsoft or Oracle. These debates occur at these companies - we just never see them.

As result the free software movement seems more contentious and argumentative. While this seems like a straight forward result of the free software community, peopleoften assume that these same debates don't occur at closed source software companies.

Many of debates occur at closed source companies (direction, engineering approachs, code styles, source management all are debated pretty vociferiously) including one that is noticabily absent from the free software community.

One debate that you will not see is the tension between marketing and engineering. As many free software users are also users of their product - they often have a better understanding of their product. Additionally developers are also often the sales staff. Most free software projects are still small enough that they are intimately connected to their users in ways that developers at private source companies are not.

Microsoft for example has developed procedures for project managers and other customer relation people to be actively soliciting feedback from users. This process developed because it was no longer feasible for developers to do this. Scale has it's problems.

However one point of contact with customers is often the sales/marketing rep. One problem that often arises is the promised feature. Rep A promises Customer B that Feature X is definately going to be in Release C. This leads to marketing making demands on engineering that they may not be able to make. This then often leads Creeping Featuritis which then leads to Security Holeis.

This of course can happen any time you deploy a sales force that doesn't have a sound technical knowledge. Since most free software projects haven't gotten to this size and most will never get to this size so it's not a problem you face in the free software community too often.

Of course the relatively small size of developer teams and their relative closeness to the customer means that you can often work with directly with an engineer on a project.

Chock one up for free software. When I started this post, I noticed a great piece on
project management principles
, that not only talks about project management but also some of the strange foibles of corporate software development.