Enterprises Treat Open Source Software in the Same Way as Proprietary Software
Last week at OSBC, OpenLogic hosted a panel of open source end users on the topic of Risks and Rewards: How Enterprises are Adopting and Managing Open Source. Stormy Peters moderated the session where enterprise visionaries shared advice on creating open source policies and managing open source risks. Their universal advice is that enterprises should treat open source software just like proprietary software. Here’s a taste of what they said.
Jon Stumpf, AIG: “What I think is most important is to just recognize open source as being no different than closed source technology coming in the door. It’s all about license, compliance and understanding where you can deploy technology. In dealing with the minor variations that open source brings, the majority of the processes you’re supposed to have will suit you well when bringing new technology in.”
William Hurley, BMC: “Software is software is software. There is absolutely no difference in managing the proprietary use of software within your company than there is the open source. You have the same issues of scale, interoperability, licensing and so on and so forth.”
Tim Golden, Bank of America: “I don’t think we can emphasize enough: open source software is the same as proprietary software in almost every way except your relationship to the software. You can use almost every existing process that applies to software and some lifecycle management within any kind of a company.”
Now that idea may be anathema to some open source advocates, but it resonates with enterprises that we talk to at OpenLogic. What we consistently hear is that companies need and want the same services for open source software that they get from proprietary software. Hence the rise of open source companies – they bridge the gap between what open source is (flexible, free, high quality, functional software) and the additional services that enterprises want in order to deploy open source. (trusted source, support, updates, indemnification, tools).
The panel members did acknowledge that there are some special issues that enterprises need to address with open source and that these need to be handled in your open source policy. I’ll blog more on that topic in the days to come.
Don’t look for that dream job?
The question I am trying to answer is "if someone does something because they love it, you start paying them to do what they love, will they stop doing it when you stop paying them?"
It looks like Timothy Ferriss would say yes. For those of you that don't know him, Timothy Ferriss is the author of The 4-Hour Workweek. I won't review the book in detail here but his main premise, in three major points, is that (1) we are all working towards the wrong thing – we should be working towards postive cash flow, not a big chunk of change to retire with in 20 years, (2) we should be doing what excites us, not what just gives us pleasure and (3) we are all terribly inefficient – we should be able to generate sufficient cash by working 4 hours a week.
In a recent blog post Timothy Ferriss says that you shouldn't expect too much out of any one activity or it won't deliver on any of your expectations. So you shouldn't expect your job to provide you with a living and enjoyment because then it's unlikely to provide you with either very well. He relates it to exercise. You should either do recreational activities or work out but you should expect your afternoon leisure ride or your soccer game to provide you with fitness – you should go lift weights or run on the treadmill for that. So from that I get that he thinks you shouldn't try to get paid for writing the code you enjoy writing because they you are unlikely to make lots of money and unlikely to enjoy it any more.
I can't say I agree. I think it would take a tremendous amount of self-control and a certain personality to spend four hours a week doing something you hated to make a living, four hours a week doing grueling exercise to be in shape, four hours a week doing purely recreational activities, etc. I think most activities satisfy more than one need. Work can provide a paycheck, a social network, a sense of self worth, continuing education, etc. I do agree that expecting one activity to solve all things is going to lead to disappointment. People who expect work to provide them with a paycheck, excitement, fitness and a spouse are bound to be disappointed on at least one front.
So I think the point should be that you shouldn't turn down a job because it's something you enjoy doing – but you should expect that you might not enjoy it quite as much once you are getting paid to do. Maybe that's because now you have to work on it even when you'd rather be walking the dog or maybe it's because you have to do parts of it that you would have ignored when you weren't getting paid. Or maybe it's because instead of doing it 10 hours a week, you are now doing it 40 hours a week and that's more than you enjoy.
What do you think?
Microsoft: Pointing a Loaded Gun?
I’ve never used a gun before, but I’m told that the first rule of gun safety is to never point a loaded gun at anyone. This “safety rule” came to mind recently as I watched the fallout from Microsoft’s claim in Roger Parloff's Fortune article that they hold 235 patents that are violated by Linux and open source software.
In the aftermath of the heated and mostly negative response from the open source community, Microsoft protested that they had no intention of suing their enterprise customers over infringement of their claimed patents. Rather, Microsoft wanted to license these patents to their enterprise customers. That sounds a lot like holding a metaphorical gun to an enterprise’s metaphorical head. It’s as if Microsoft is saying “Of course I won’t shoot you, but there are 235 bullets in the gun that I’m holding to your head. And by the way, did you want to license my patents?”
I can’t imagine that Microsoft’s enterprise customers will consider that a friendly offer.
Giving Back to the Community
I read William Hurley's post on giving back to the open source community. He makes a good point.
There are too many entities taking advantage of open source technology without giving back. Some are literally pillaging the community that butters their bread. How long before we all suffer the effects? If major project contributors were to stop work, how would that affect the industry as a whole?
That got me thinking about the different ways that companies can give back to the community. Contribute code or bug fixes
- Test and report bugs
- Write documentation
- Hire community members
- Pay community members for services or consulting work around the project
- Give money to open source projects or foundations
- Provide technical tools/resources for communities to use
- Help communities to spread the word about their projects
- Provide free services (legal, web, etc) to the community
Sometimes people only think about donating code, but there are a myriad of ways to give back. We've used at least four of these ways at OpenLogic and are always looking for new ideas.
What’s your time worth?
Developers that work on open source software typically have day jobs that pay pretty well. So they work on open source software for free and write code during the day for big bucks.
So if they are offered money for their time, do they weigh it against the $0/hour they make writing open source software or the $50/hour they make at work? I'm assuming they think they are worth at least $50/hour and any work for pay you offer them will get evaluated against that. (I would.)
So does that mean if I get paid $50/hour at work I'd rather help the local school set up their network for free rather than take a job setting it up for $10/hour? As strange as it sounds, I think it's true. As a volunteer doing it for free I get more control (I can leave at any time), more prestige (I'm helping!), and more recognition (I'm not a lowly flunky, I'm a cool volunteer.) As cheap skilled labor all I've done is lower my hourly worth. I've now said I'm only worth $10/hour – I'm working for peanuts instead of helping out someone who needs it.
I'm not saying this makes sense at all or that it's a good thing but I think it's a reality. What do you think?
(This is one of the reasons we worked hard to make sure our OpenLogic Expert Community compensates fairly.)
Map your airplane travels … for bragging rights
For those of you who travel too much … I'd like to introduce you to FlightMemory – it allows you to track all your trips and tells you total hours in the air, top airport, shows you a map of all your flights, etc. Now you can really show your friends and family how much of a time consuming pain travel is! (BTW, my six year old has got it down. After three long flights in one day he decided that flying gives him a headache.)
Announcing OSCirrus, OSS Wind Measurement System
Given all the interest in wind energy these days, and the fact that I live in a very windy area, I decided to start measuring wind speed and direction. I found some inexpensive, robust wind instruments, a cheap AVR microcontroller, and set out to build the firmware using an open source C compiler, WinAVR, based on the GNU gcc for Windows.
I mounted the wind instruments on my garage and fed the signal to the AVR controller I have in my home office. The AVR microcontroller spits wind speed data out the serial port which is connected to the Linux box. That server turns the wind data into an XML file that's served by an Apache web server. I wrote an example Flash application which reads the XML and adjusts some graphical meters in near-real time (every 5 seconds.)
I've released the project as Open Source under the Apache v2 license for the software I wrote. Take a look at OSCirrus.see-do.org for more details, schematics, sensor construction, and downloads of source code. Since I've put up the sensors, I've captured some huge and sustained gusts of wind. Here is a snapshot of the Flash-based GUI that shows the speed history during a severe wind storm that had gusts up to 60mph:
So, dig in, have fun.
Do you value things more if you pay for them?
I've heard lots of people say that you value things more if you pay for them. I think that's changing for internet technologies and open source software. I can see how you would value something traditional more if you pay for it – instead of being free and therefore worth nothing and easily replaceable, it's was worth your hard earned money. It's the same principle that keeps people's closets full of junk – they paid for it, it's worth money and therefore they can't throw it away. It might cost them money to replace! But technology is different.
- First off, you did invest something in that free download. You had to research it, find it, install it, evaluate it. Once you've downloaded it, played with it and got it working all right, you've invested a lot of your time in it. Throwing it away for a competing project would mean throwing away all that time and knowledge.
- Sometimes the free one works better. As someone who's trying to get work done, I value the software that works.
- Some things are supposed to be free. I might value my $10 tshirt more than the free one I got at the conference (not just because it cost $10 but also because I invested time in picking it out, comparison shopping, etc) but I don't think the same holds true for email services. I don't value my $29/year Yahoo mail more than my free Gmail just because I paid Yahoo because I expect basic email services to be free these days.
So, I think if a company paid $100,000 for Oracle, they might value it more than the open source PostgreSQL but I think that's changing. They won't value that web server software they bought more than Apache. As the open source software solutions become more and more popular, reliable and expected, they will be valued just as much as the proprietary ones if not more. And people will always invest time in open source software – it takes substantial amounts of time to select, evaluate and choose a technology solution.
BTW, even with Google, I couldn't find the original study that says that people value things more if they pay for them – if you know where it is, let me know.
Apache Virtual Host Tip
Background In this article, I'm going to take you on a quick tour for configuring virtual hosts on apache, but then leave you with the one tip that glues it all together. Normally if you're hosting a web site on Linux/Apache, your ISP is handling all this for you, but if you're like me and like to maintain various personal web sites that don't get a lot of traffic, you can put up a Linux box on your DSL connection and have all the disk space and freedom you want to manage your server and try out new technologies. Apache does a great job of hosting independent domains on the same instance through its virtual host capability. All domains can have the same IP address – Apache sorts it out based on the request URL and multiplexes the request to serve it from the correct document root/web site. Apache stands there as a traffic director giving the illusion that each site is completely independent despite they all live on the same server and use the same IP address. That's the basic model of shared web hosting, but you can use it for yourself to maintain your own server with multiple domains on the internet. How To Configure a Virtual Hosted Apache 2 Server If you haven't already, as root, create an /srv/www/vhosts directory # mkdir -p /srv/www/vhosts Then for each domain you want to host on the server, create another subdirectory under vhosts that contains the name of the domain. For example, I have a personal site called sawdust.see-do.org that I use to stash and document various technical projects I have on the side. I have another site I use to host an open-source project I started called OSCirrus.see-do.org (a wind measurement microcontroller, firmware, and instruments project.) With those two sites as an example, my /srv/www/vhosts directory will look like this: lcox@flash:/srv/www/vhosts> ls -l
total 2
drwxr-xr-x 18 lcox www 648 2007-05-03 18:25 oscirrus.see-do.org
drwxr-xr-x 14 lcox www 496 2007-05-18 08:34 sawdust.see-do.org
Depending upon who's going to be updating the site, you'll want to change the ownership of the site directories. In this case, I used my own user account, 'lcox', as the owner and 'www' as the group. Under these domain directories is the normal content you would see for a web site that lives under an Apache htdocs directory, for example. Now, over in your Apache config file, typically in /etc/apache2/httpd.conf you'll see what amounts to a template for virtual hosting in the form of an Include directive. If it's commented out ("#"), then uncomment this line: Include /etc/apache2/vhosts.d/*.conf Under the vhosts.d directory, you will create a configuration file for each of your domains; in this example, I created two .conf files…one for oscirrus.see-do.org and one for sawdust.see-do.org. Note, you don't need to match the file name with any domain in particular. That is the conf file name is arbitrary, but in practice it will reflect some part of the domain name it's describing. I created the files from a template Apache gives you called vhost.template which lives in the same directory:
lcox@flash:/etc/apache2/vhosts.d> ls -l
-rw-r–r– 1 root root 4203 2007-04-12 19:46 oscirrus.see-do.conf
-rw-r–r– 1 root root 4196 2007-04-11 20:31 sawdust.see-do.conf
drwxr-xr-x 2 root root 48 2007-03-17 19:41 vhosts
-rw-r–r– 1 root root 9147 2005-09-09 15:33 vhost-ssl.template
-rw-r–r– 1 root root 4237 2005-09-09 15:33 vhost.template
So, just do a: # cp vhost.template mydomaingoeshere.conf for example, to get a virtual host configuration for your domain. Inside that conf file is nothing special, but you will need to change the various Apache directives to reflect your domain specific names and locations for things like access and error logs, the server name, admin email, etc. These are all exactly like the normal Apache directives of a non-virtual domain, so nothing special needs to be noted. The critical directive to change will be the ServerName – for example: ServerName oscirrus.see-do.org In order for your new changes to take effect, you need to restart Apache which takes just a few seconds. A typical way to do this is: # /etc/init.d/apache2 restart Domain Registration Assuming you have registered your domains at a registrar such as Network Solutions, DirectNIC, GoDaddy (or any number of the others out there), you will need to login to your registrar account and point the domain to a DNS server. I use ZoneEdit for DNS services because I can very easily repoint a domain or subdomain to a new server and the changes take effect almost instantaneously without having to repoint my domain at the registrar. So, all my domains at my registrar point to DNS servers at ZoneEdit and then at ZoneEdit, I resolve the domain's address to the IP of my server that's behind my DSL connection. So, if you haven't already set up your domain registration and DNS, you'll need to do that before any of this can begin to work and insure you can reach your server from elsewhere on the internet. I won't cover how to do all this since DNS procedures are really well documented and there a 1,000 ways to do it. Finally, Here's the Glue Tip Everything above is pretty self explanatory, well-trodden territory, and the Apache files do a great job of leading you to the virtual host water. You can do all that correctly and still hit this one nasty problem. If you have multiple virtual hosts and you try to request a URL from the 2nd or 3rd host, for example, you'll always get the page from the first virtual host – a maddening state of affairs. So, here's the one line of glue code that's not included in the typical Apache conf template that makes it all work. Over in the /etc/apache2/httpd.conf file, immediately above the Include directive for the vhosts.d conf files, you need to add a line: NameVirtualHost *:80 In context it will look like this: # this NameVirtualHost is critical otherwise any virtual host request will only
# resolve to the first one
NameVirtualHost *:80
Include /etc/apache2/vhosts.d/*.conf
Summary There are lots of tutorials on the net for setting up virtual hosts, but none that I found cover that one magic line – you'd have to dig it out of google/forum posts or somewhere else. So, hopefully, this a) spurs you on to try virtual hosting on Apache and b) saves you a bunch of time trying to figure out how to make it work.
OSBC: Open Source: Why Freedom Makes a Better Business Model
Marten Mickos, CEO of MySQL, talked about how freedom leads to success. He's referring to freedom as opportunity – so eBay brings freedom to trade – anybody can trade with anyone. I didn't get some of his examples like how IKEA brings freedom to furnishings. New style, sure. Freedom?
He made a lot of quick points like:
- There are too many developers in the open source community for the proprietary world to compete.
- He says software profits come from innovation, network effects, scale of vendor and lock-in and open source does well on all of those except lock-in.
- Size is no guarantee of profitability. Open source companies can get to higher profitability faster because they spend less on sales and marketing – just compare how much RedHat spends on Linux advertising versus what the Unix vendors spent.
Then he moved on to a major point: open source is not religion and open source is not a business model – it's a smarter way to produce the goods and distribute the goods. (My note: there are business models that more effectively with open source than others.) When you create a business model you are targeting one of two groups: those who are willing to spend time to save money and those who are willing to spend money to save time. MySQL, because of its open source nature, is able to work with both groups. They provide value to those willing to spend time to save money (an open source database) and those willing to spend money to save time (commercial value-add ons like support and management.)
Then he suggested some business models like taking donations, selling ads, dual licensing, selling ad-on features, etc. You must give customers a compelling reason to buy – but make sure that it's not so compelling that the open source community doesn't abandon you to create an alternative. Lastly he said, realize that customers want everything to be free. Customers aren't worried about your profitability.


