Yesterday we held a release party in Salt Lake City, Utah to celebrate the release of several open source operating systems. The original announcement only mentioned Ubuntu 8.04 LTS and Fedora 9, but we realized during the party that OpenBSD 4.3 was released on May 1st.
We were all happy to celebrate the goodness of open source, without arguing over which distro was better. The Fedora guys showed us some cool improvements, and the Ubuntu guys also demonstrated some neat improvements. The great thing about open source is that all of these improvements will be shared by both distributions in a future release.
I want to say thank you to our excellent sponsors who made this party a success. First, the amazing location was provided by the web-development company Code Greene. Second, the delicious Chipotle burritos were donated by the Utah Open Source Foundation, ran by Clint Savage. Lastly, thanks to the Fedora project who contributed funds, and Ubuntu/Canonical who contributed swag (including hundreds of 8.04 CDs).
Here is a picture of the three Ubuntu babies! This is the second release party for my girl Chloe (on the right).
We had an estimated 50 people at this party, but there is not one shot that includes them all. We do have physical evidence that 32 burritos were eaten and many people did not get one.
Here is Clint Savage doing his best impression of a good speaker. Just kidding Clint, you did a great job! Thanks for helping foster open source communities in Utah.
Notice the Fedora posters and foosball table in the background. This web-development company also has a kitchen, ping-pong table, an air-hockey table, a gigantic over-sized chess set, and a high-def theater that was playing the original Star Wars. Sounds like a great place to work!
Sunday, May 04, 2008
Utah Release Party: Ubuntu, Fedora, OpenBSD
Friday, April 25, 2008
Synching the open source release schedule
Introduction
Both Mark Shuttleworth and myself have discussed this idea before. Because Mark brought it up again in a recent interview, I feel compelled to developer this idea further.
The main concept is that Linux distributions, and open source in general, have a lot to gain by synchronizing their release schedules.
Positive impact on the image of open source
Can you imagine the news articles that would be written if Ubuntu, Fedora, and OpenSuse all released a new version on the same day? Every six months, the world would see that open source has successfully delivered a new version on schedule. Mark Shuttleworth made a great point when he stated:
"We know when the next LTS will be probably with better confidence than we know when Windows 7 will ship. I would take that bet."Once the distro releases become synchronized, it would create a huge incentive for upstream projects to synchronize on the same schedule.
Currently, we have upstream releases happening all over the calendar. For example, the newest version of Ubuntu includes a beta version of Firefox 3. It also includes OpenOffice 2.4, which is soon to be replaced by OpenOffice 3.0. With the power of a synchronized release, these upstream projects would work hard to get their newest versions into the distributions so that their users can start using the code sooner.
Creates efficiencies in software development
Open source is a very unique software development model, in that the code is freely shared between anyone who wants to work on it. This usually leads to great productivity from the worldwide development team that is formed.
However, there are some friction points in this model. Specifically, this friction happens when Linux distributions are working on different versions of an open source application at the same time. Mark addressed this point in his interview:
"Timing your releases drives a whole bunch of things. It means a greater ability to collaborate on bug fixes. If we are on the same versions of the Linux kernel, it is a lot easier for us to say, 'Hey, here is this patch to make this device work. Do you know any reason why we shouldn't put it in?'How do we accomplish this?
You could just get so much more done at an engineering level between the teams. My engineers regularly collaborate with Novell and Red Hat and, of course, Debian. Barriers to that sort of collaboration are sometimes ideological but, in most cases, are just practical things. We are just on a different version so someone else's patch isn't going to apply. There's a bit of friction there."
I agree with Mark's short answer to this question. Simply set a hard date and modify your goals to make that release date. That greatly oversimplifies things, but it demonstrates that the long-term benefits of a regular release schedule greatly outweigh any negatives caused by postponing a feature into the next release.
In reality, there are a number of questions that need to be answered before this can happen.
1. On what date will the releases happen? Does it have to follow the current Ubuntu schedule of releasing every April and October?
Mark answered this question in his interview:
"We would be quite willing to revisit the elements of our release schedule in order to make that synchronicity possible, if the fact that we happen to do April and October wouldn't work for the majority of the distros. We would be flexible in that regard."2. What amount of time should there be between regular releases?
Periodic releases every six months has worked very well for Ubuntu, but not all distributions are currently following that schedule. Six months also works great from a marketing perspective, because the release would always happen in the same months every year. Lastly, the open source motto is to "release early, release often". Six months is an attainable goal that balances the need for incorporating new features with the need for stability and quality assurance.
Call for civility
I understand that a post like this could lead to a distro war in the comment section. Please keep your comments civil and always show respect for other people's ideas. Hopefully, we can come up with some great ideas on how to improve open source software!
Thursday, April 17, 2008
Win the desktop, and you will win the server
Or, "Why Red Hat is pursuing the wrong business strategy"
Red Hat has recently announced that they have "No plans for a traditional consumer desktop". Let me explain why I think Red Hat needs to change their business strategy.
First, a short history lesson. Before the arrival of Windows NT Server, Novell Netware claimed 90% of the market for PC based servers. However, Netware made a near fatal mistake when they did not provide a GUI interface soon enough. This comes from the same Wikipedia page linked above:
While the design of NetWare 3.x and later involved a DOS partition to load NetWare server files, this feature became a liability as new users preferred the Windows graphical interface to learning DOS commands necessary to build and control a NetWare server.So server administrators became familiar with Windows 95 on their desktop, and they naturally preferred Windows NT 4.0 which included the same interface.
Challenged by Ubuntu
Red Hat is in a similar position to what Novell faced, in that Red Hat is facing a time when server administrators will choose to run their desktop operating system on their servers. Specifically, I believe that Ubuntu will soon become the de facto Linux desktop. This means that server administrators will become familiar with Ubuntu and develop a trust for the brand. Eventually, they may choose to migrate to an Ubuntu standard on servers and desktops.
Most people agree that the real money is in server operating systems. If Red Hat wants to keep capturing that server money, they must provide a supported, free desktop operating system as part of a loss leader strategy.
Fedora is great, but it doesn't solve this problem
Don't misunderstand me, I know that Fedora is an excellent piece of software, but it has two fundamental problems. First, most average computer users do not know that Fedora is sponsored by Red Hat. This means that the Red Hat brand is not directly benefiting from the popularity and success of Fedora.
Secondly, Red Hat does not provide any support for Fedora. This means that many business cannot seriously consider running it on their desktops. How will these business get support if a problem comes up? How will they know that their applications are certified to run on Fedora? What if they want long-term support for older versions, without having to upgrade all the time? All of these questions are being answered by the Ubuntu ecosystem.
Red Hat, let me give you a hint. (If you want more hints, I am always available for consulting). Here it is: Change the name of Fedora to "Red Hat Enterprise Desktop" and begin to sell support for it. If you are lucky, it may not be too late to capture a large percentage of the desktop operating system market.
Remove the need for CentOS
Red Hat, I will even give you one more hint for free. Why do let CentOS steal your thunder? You have already published 99.999% of CentOS (everything except the branding). You graciously publish the source code to RHEL to abide by the GPL, but then you let another brand take credit for your work. How can you fix this? Easy! Simply provide a free version of Red Hat Server that is compiled and ready to be installed. Now your users will see even more of RedHat. RedHat on their desktop, RedHat on their servers, and they can buy support for all of it if they so desire.
Tuesday, April 15, 2008
Most embarrasing meme ever...
What if this was your response to the command history meme?
$ history|awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'|sort -rnAnd how come we never see a meme like this?
2184 dir
1631 copy
560 edit
486 type
430 makedir
343 move
281 ipconfig
273 deltree
201 erase
164 format
cat /etc/passwd;sudo cat /etc/shadow;netstat -plunt;ifconfig;sudo iptables -LNote: Please do not post funny memes if they have destructive commands. The meme above will display private information about your system that should never be posted online.
Monday, April 07, 2008
Why do people make software for free?
When I first tell people about open source software, one of the most common questions I get is this:
"I just don't understand why people would create software if they don't get paid for it! How does that work?"This question makes sense, because we all know that people need to make money to provide for their families. And every good capitalist knows that the profit incentive is what drives people to create and innovate. This is true for many industries, but it does not explain why open source software is created. Here is how I answer this question:
The birth of an open source project
Most open source software projects were created by a programmer who needed a piece of software to accomplish a certain task. Rather than purchasing a commercial software product (assuming that one existed), this programmer decided to create the software from scratch. This programmer might have been paid by their employer to create the software, or the work might have been done on personal time. Instead of hording the newly created software, the programmer decided to share it with the world by publishing it under an open source license.
The birth of an open source community
This is where the open source story gets interesting. It is likely that somewhere else in the world, a second programmer has a need for some software that provides the same functionality. Rather than starting from scratch, this second programmer discovers the open source project that was recently created. This second programmer uses the source code to add new features and fix some bugs that they found in the application. This second programmer then submits these improvements to the first programmer, who gladly accepts them and incorporates them into the original project.
This cycle continues as more and more people start using the software. Most people will simply use the software, but a small percentage will contribute to the project. These contributions will be made by programmers, documentation writers, translators, beta testers, artists, web administrators, and many other important roles.
The birth of an open source business
As the community of users grows into the thousands, the size of the community eventually reaches a critical mass. This happens when a need develops for a commercial entity to provide professional services related to the open source project. This need is driven by businesses who require a support contract before they will use open source software. The commercial open source company is driven by a profit motive, but their success is directly beneficial to the open source community.
The future of an open source project?
I hope this post explains how many open source projects were created, matured, and became supported by open source businesses. Not all open source projects followed this particular evolution, but I think it is the most common life-cycle for open source projects.
What does the future hold for open source? It is always hard to predict the future, but if you have been watching closely you will see that traditional software companies have been investing in or purchasing these commercial open source companies. This means that in the near future, your traditional software vendors will actually be developing open source software, and trying to implement a successful business model based on open source.
Sunday, January 27, 2008
Dual License model: Future of open source?
I have noticed a trend developing in the business models of successful open source companies. These companies are implementing a business model that is based on dual licensing their software.
This press release provides an excellent summary of what dual licensing means.
The guiding principle behind dual licensing is "quid pro quo," or a fair exchange. Under this model, vendors offer their products under both an open source license and a commercial license. This allows open source projects to use the software at no cost, which contributes to widespread use and testing of the software and the fast growth of a large installed user base. Companies redistributing the software as part of commercial products can also get the benefits of the open source software by purchasing a commercial license, which releases them from requirements to publish their source code. Commercially-licensed customers generate revenue for the open source vendors, which contributes to the rapid development of high-quality software.
In an recent blog post titled "Giving and Taking", Asterisk creator Mark Spencer explains why dual licensing can be a good thing for open source.
The dual licensing model that Digium has chosen introduces an explicit monetary cost to choosing the proprietary route, thus providing greater direct incentive to people to choose to open their changes, and further allowing people who do not choose to open their changes to subsidize the work that Digium does with Asterisk by allowing us to add more open source resources (think Green Energy Credits here). In fact, our staff of open source dedicated programmers has more than doubled in 2007 alone!
The only people with a real reason to be upset feel that way because they cannot choose the proprietary route without paying a fee. In other words, it gets in the way of their desire to make money through proprietary add-ons without having to share in the cost of development of the underlying technology.
Alfresco explains why they prefer a dual license model.
Alfresco is an open source software company. We license 100% of the source code of our products – Alfresco Enterprise and Alfresco Community – under the GNU General Public License (“GPL”). This does not mean that Alfresco has released its software into the public domain – like any software creator, we own and retain copyrights, trademarks, and patents. Rather, it means that we author software like any software company, but license our software under an open source license that permits and encourages access to our source code, modification of this source code, and redistribution thereof.
For developers or organizations who wish to embed Alfresco into proprietary software products, we can accommodate this with a commercial license to our software (“Alfresco Enterprise”), which provides the benefits of our software without the requirements of the GPL. While we encourage everyone to use the GPL, we recognize that some prefer not to. For this purpose, we can provide a commercial license to Alfresco Enterprise.
The popular open source database MySQL (soon to be part of Sun Microsystems) also follows a dual license business model. They do a great job of briefly explaining the different license options on this page, and they also have an excellent FAQ on this subject.
MySQL's dual license model supports the company's mission: to make superior database software available and affordable to all. The dual licensing creates a circle that sustains both innovation and growth: MySQL channels the revenue from this viable open source business model back into support for its open source user community that, in turn, supports MySQL AB's commercial business.
The dual licensing business model is a "win-win" for all parties:
- MySQL's open source community gets superior software for no cost
- MySQL's commercial customers have the option of using reliable, community "battle tested" MySQL software for a relatively low cost
- MySQL's business is healthy and viable, which also strengthens the open source movement
Open source legend Eben Moglen speaks highly of dual license business models.
"Dual-license products give customers who redistribute a choice in license terms," said Eben Moglen, professor of law at the Columbia University Law School and recognized as one of the world's leading experts on copyright law as applied to software. "Proprietary commercial licenses can offer customers fewer restrictions on inclusion in closed source products and enable open source software developers to grow strong businesses. This model is a win for the free software movement too, as it ensures that dual-licensed software products will be developed and supported by viable companies, and also remain available for free copying, modification and redistribution for the long-term."
Funambol is another open source company that believes in a dual-license business model. In fact, CEO Fabrizio Capobianco has blogged about why they selected this model.
My epiphany with dual licensing happened in London some years ago. I met Marten Mickos and I decided that was the way to go. I loved the "quid pro quo" concept: you either give back code to the project or you give back cash, so we can put it back in the project itself. That's being honest.
Conclusion
It is my strong opinion that open source software will become the dominate model for software development in the future. The only question left to decide is just how long will it take for open source to replace the traditional software model? The dual license model provides incentives for open source businesses to protect open source and at the same time allows them to make money from selling proprietary licenses. This model creates strong businesses that provide a lot of value to end users. Therefore I believe that the dual license model will accelerate the adoption of open source.
So what do you think about the dual license business model for open source companies? Is it a good thing or a bad thing?
Monday, January 21, 2008
Status Quo: Can't watch the news in Linux
For the two previous versions of Ubuntu, I have tested seven news websites to find out if I could watch their video feeds using Ubuntu. You can read the results for 6.10 and 7.04.
Now that Ubuntu 7.10 is out, it is time for me to test these websites again.
ABC News
- Sound: NO
- Video: NO
- Sound: NO (Worse!)
- Video: NO (Worse!)
- Sound: YES (Improvement!)
- Video: YES (Improvement!)
- Sound: NO
- Video: NO
- Sound: YES
- Video: YES
- Sound: YES
- Video: NO
- Sound: YES
- Video: YES
As you can see, we had one site that improved (CBS News) and one site that has actually gotten worse (BBC News). Congratulations to CBS news for joining the 21-century. I am not sure what to say about BBC News. Apparently, the BBC is now using a new video player called the "BBC iPlayer", which only supports Microsoft Windows operating systems. Because of this, there was a lot of controversy about the highly restricted player, including this petition.
I still consider it difficult to watch the news on Linux because a majority of the sites I tested (4 of 7) did not provide working video and audio.
Lets hope that BBC News, Fox News, CNBC News, and ABC News will realize the error of their ways and create a multi-platform video player. The "Best of Class" award goes to MSNBC for their new video player which is extremely fast and responsive and provides excellent video quality.
Wednesday, January 16, 2008
Open source web conferencing
Introduction
Have you ever wanted to attend a webinar but quickly discovered that the web-conference service doesn't even support your operating system? This has happened to me several times and it irks me greatly! I always make sure to tell the company that they should switch their web-conferencing service to one that supports multiple platforms including Linux.
It is somewhat hypocritical when an open source company offers a webinar about their open source product, but they don't allow customers with open source operating systems like Linux to attend. I ran into this ridiculous issue when trying to attend a Zimbra webinar. I told them that it was wrong for them to have such great multi-platform support in their product and at the same time only allow Windows users to participate in their webinars. We'll see if they take that advice to heart.
Fortunately for us, there are companies that offer cross-platform support for web-conferencing. Even better, there are a small handful of open source projects that provide the features of a web-conference service. This means that you can host your own web-conferences without having to pay for a service. I am going to briefly describe three such open source projects.
DimDim
DimDim is probably the most advanced of the open source projects I have found. This could be related to the fact that they have commercial sponsorship. They offer a free hosted version if you do not want to download and run DimDim on your own server. I definitely recommend that you give DimDim a try.
WebHuddle
What are the main benefits of using WebHuddle?
- Simple - The client runs in your web browser, through firewalls and proxies, and requires no installation. The user interface is intuitive and requires little or no training.
- Secure - The industry-standard HTTPS protocol secures all network communication.
- Small - The client applet weighs in at only 75 to 175 kilobytes, depending on platform and features used.
- Standard - WebHuddle works on Java-enabled Linux, Windows, Unix, and Mac operating systems. WebHuddle uses the same protocol as web browsers, HTTPS, so your IT department doesn’t need to get involved.
- Open Source - Leverage the many benefits of open source software, including value, transparency, and flexibility. If you find WebHuddle useful you may download it and freely install it on your own hardware.
OpenMeetings
Features:
- Video/Audio
- See Desktop of any participant
- Multi-Language and Customizable
- Whiteboard with drawing, write & edit, dragNDrop, Resizeing, Images (DragNDrop from Library), Symbol(s)
- Conference while drawing (4x4 or 1xn modus)
- Safe Drawings / whiteboard and load it next time, edit and resave
- Import Documents
- Send invitation and direct Links into a meeting
- Moderating System
- User-/Organisation-/Moderating- System
- Backup and Language Module (LanguageEditor, BackupPanel)
- Private and Public (Organisation only) Conference-Rooms
- Technologies used, see TechnologyPortfolio
Saturday, December 22, 2007
The benefits of a regular release schedule
I have recently read the announcement that Kubuntu 8.04 is NOT going to be an LTS release, thereby deviating from the release schedule of all the other Ubuntu variants. I believe that it would be more beneficial to synchronize the LTS releases between the official Ubuntu variants.
First of all, Ubuntu needs to solidify its public image as much as possible. This is even more important while it has such a small mind-share in the overall technology market. Most computers users have no idea what an LTS release is, and they could be confused by mis-matched numbers. "Why is Ubuntu 8.04 LTS and Kubuntu 8.04 not LTS? Why is Ubuntu 8.10 not LTS and Kubuntu 8.10 is LTS?" Some IT departments might choose to only support LTS releases of Ubuntu. Now they must work with their KDE users who would need to upgrade on a different schedule than their Gnome users.
I understand why Kubuntu wants to delay their LTS release. They have a shiny new version 4.0 that provides many new features, but it is not quite ready to be considered for an LTS release. Historically, the last LTS release (Ubuntu 6.06 LTS, Dapper Drake) included primarily minor changes that focused on stability and polish. For Kubuntu 8.04 to be an LTS release, it would need to stay with KDE 3.5. No major changes should be made during an LTS, which I think everyone agrees upon.
The unfortunate timing of a moving KDE 4.0 release date is a problem that can be corrected. Mark Shuttleworth suggested at the last aKademy conference that KDE should change its release process to a hit a regular schedule. You can view the video of Mark's keynote address on the web. The idea is a simple one: Set a hard date and modify your goals (features) to match that timeline.
This sage advice was not well received, but it should be taken to heart by KDE. I believe that it would tremendously benefit KDE to create a regular and predictable release schedule. See the benefits that this has had for Gnome and Ubuntu. When open source projects have dependencies with each other, a regular release schedule allows them to plan their releases better. For instance, Ubuntu trusts Gnome to hit a stable release on time so Ubuntu provides them more time before freezing changes.
Now consider the negative aspects that an unpredictable release schedule brings. The best example of this is how users left Debian for Ubuntu so that could get an OS that provided regular releases. Another example is how the release of Microsoft Vista slipped multiple times, throwing off the plans of IT departments, software development companies, and computer vendors. A predictable release allows external parties to prepare and plan for the release. If KDE does this, they too will reap the rewards that Ubuntu has seen.
Proactively defending the GPL
I keep hearing people talk about the need for a legal test case against the GPL. This has not happened yet in the US, and some people think it is necessary to legally legitimize the GPL license. These GPL-supporters hoped that the recent Busybox vs Monsoon Multimedia issue would satisfy this requirement. This turned out not to be the test case because it settled outside of court.
After hearing much debate and concern about how and when this all-important test case will take place, a very simple idea entered my mind. Why don't we just create this test case ourselves? Start with two pro-GPL parties, and have one party infringe against the GPL license. Then have the other party sue the first for its violation of the GPL license. Of course the specifics can be determined in advance to make the decision most favorable to defending the GPL. I expect that the legal costs for this case will be minuscule compared to the value it would bring.
Once the case has been decided in favor of the GPL, it would become the legal test case for GPL. Any future cases against the GPL can refer to the successful defense from this artificially created case. Is this a valid method to get a legal test case in the US? Or is it it a ridiculous idea that needs no further thought?