Is it too easy to install open source packages?
As Abhijit Nadgouda says in "Benefits of Online Repositories", it only takes a simple command or two in Linux to download and install or upgrade a package. If necessary, even dependencies will be downloaded and installed and you don't have to know anything about these new packages to make it all work in a matter of seconds. And you don't have to use a browser or any kind of GUI to make this all happen.
Isn't this all just a little too easy?
Well, it's not if you're a developer trying to get a job done quickly or you're working at home and don't really think about licensing terms or other obligations.
But what if you're working in an enterprise or at an ISV where it really does matter what the license is for not just the top level project but all dependencies and their dependencies and so forth? Are you violating any of your company's policies around software acquisition, in particular the policies related to open source licensing and distribution? And what if one of those packages in the tree has an obligation requirement that your company can't accept or is not willing to meet? How do you go about getting production support and/or indemnification for all the packages in your new hierarchy?
I think it's pretty easy to see that in certain settings there can be real issues related to the ease of software acquisition in our world of open source ubiquity. This is a problem OpenLogic helps to solve through our library of over 400 certified packages backed by indemnification and SLA support. We don't want to take away the ability for a developer to quickly find and install open source packages, but we do want to provide a thin layer of enterprise control and management around the process. We want to make it easy for developers to research and find open source that not only does what they want, but is also compliant with existing policies so they don't have to waste time ripping and replacing "illegal" components later.
So although it's great that the logistics of acquiring open source packages has gotten far easier in recent years, it's important for enterprise decision makers to realize that too easy can lead to even more headaches than a slightly slower process that enforces reasonable constraints.
Innovate Responsibly
In his recent blog post, “When Innovation Pays Off”, Jeremy Thomas recounts a recent success enjoyed by his team at active.com. As you might guess from the post title, this success was fueled by innovation, specifically by the innovative action of a single team member.
Innovation is clearly not for everyone. Many companies pride themselves on doing things the tried and true way, or on executing perfectly, rather than doing something new & bold. There are, however, not many surer paths to success than lightning-in-a-bottle innovation. Well managed, innovative R&D can lead a company to amazing technological breakthroughs, market dominance, and financial success. Poorly managed attempts at innovation, however, can take the company down a much uglier path – Think: New Coke. So, how do you harness the creative potential of you customers and employees to innovate for success?
As a product manager, I am constantly saying that we need to “ask the customer what they want.” We use personas in our product design sessions here at OpenLogic, and rarely a day goes by that I do not interact with a customer. I am an advocate of usability testing and beta programs. I thrive on customer feedback, but I often forget that you cannot rely upon the customer to innovate. Let me say that again – you cannot rely upon your customer to innovate for you. Countless studies have shown that customers simply do not make the leap required to be truly innovative. This is not a knock on your customers. Doubtless, they are smart folk with the capacity to think outside the box. When they innovate, however, they will be doing so in their own line of business – not yours. My own take on this is that innovation requires a certain amount of mental steeping in the problem domain. Your customers simply don't spend enough time dedicating their gray-matter to your business. Get them together for a ½ day focus group and they are more likely to suggest small modifications to your existing product than they are to come up with something truly innovative. If you want to innovate, you're going to have to do it yourself. The good news is that, unless you run a one-man show, you are surrounded by smart folks who spent a great deal of their time contemplating the problems that exist in your business, and they've got some killer ideas; the trick to successful innovation is harnessing them.
Google gets this, which is why they have famously provided their employees with “20-percent time.” Many of the successful new product released by Google over the years are products of this 20-percent time, including Gmail and Adsense. IBM has done something similar with their “THINK Fridays.” Try suggesting this tactic to your management, however, and you will likely meet resistance not seen since you suggested that the company provide only decaf in the break room. Why? The truth is that your management doesn't believe that you and your fellow employees will work on anything that might benefit the company. An argument against 20-percent time that I've been guilty of presenting in the past is that we're a small company, we can't afford to focus our resources on anything but our core product. The truth is just the opposite – we can't afford not to have our resources focused on innovating.
OK, problem solved right? Let your team take one day a week and work on whatever floats their boat. Maybe attach some stipulation that says it must, in some way, relate to your business and that, of course, products of this 20-percent time belong to the company. Then just sit back and wait for the light bulbs to start popping up over their heads. Pick a few, build 'em, market 'em, and retire young. Simple, right? How's that Hertz commercial go – not exactly. The truth is that your employees are likely to go to the opposite extreme as your customers. Rather than suggest minor tweaks to existing products, they'll come up with often brilliant, but way-out left-field ideas that for any number of reasons cannot be monetized by the company. You're not trying to start a think tank. You want ideas that can quickly be turned into profit. So what's a good capitalist to do? Well, I believe that there is a way out of this predicament – a way to find a balance between ho-hum minor product changes and far-out ideas that are “someone else's business” - it's mixing 20-percent time with a concept called TRIZ.
TRIZ (pronounced trees) is a formalized process for creative problem solving and is credited as the methodology behind thousands of patents from Fortune 500 companies including Proctor & Gamble, Boeing, and Philips Electronics. Based on work by Russian engineer Genrich Altshuller, TRIZ provides a set of patterns which can be applied to virtually any product or service to catalyze innovation. To arrive at these patterns, Altshuller analyzed and categorized patented inventions for over twenty years, seeking patterns across the various inventions. This effort eventually led him to his “40 Principals of Invention.” Since 1969, many other brilliant inventors and process engineers have added to this rich methodology with derivative works.
TRIZ is very pragmatic. Rather than requiring great leaps of thought to invent, TRIZ relies upon the application of one or more of the principals in order to remove technical contradictions; e.g. how can an object grow in size, but not increase in weight. By having developers leverage principals of TRIZ, you can bound their creative juices in a way that is much more likely to yield salable ideas.
Jacob Goldenberg, Roni Horowitz, Amnon Levav, and David Mazursky, the authors of “Creativity in Product Innovation”, have created a derivative work based upon TRIZ that they call “generic innovation patterns.” To illustrate how TRIZ works, let's take one of their patterns, Subtraction, and see how it might work in practice. The subtraction pattern instructs the engineer to remove important features from a product. In so doing, they are faced with the need to replace that feature, live without it, or require other features to perform double-duty. Consider your standard PC. It has a monitor, a keyboard, a mouse, and maybe some speakers. The subtraction pattern would encourage you to remove the keyboard, and mouse. How then would you get user input; perhaps via voice recognition or touchscreen. This is an incredibly simple example, but it illustrates the point. Rather than sending your engineers into the lab carte blanche, have them start with your existing product and a set of innovative patterns. What comes out of the lab is more likely to be salable to your existing market, by your existing sales team.
We're considering adapting this practice at OpenLogic. If we do, I'll keep you posted on ideas that come from the exercise.
Make it easy to purchase open source software
When I saw this quote in twitter from Michael Chilson, I had to laugh:
"using open source software is like driving a car with a million mechanics who have each had a turn."
One of the problems people have with open source software is too many voices and too many choices. When you buy proprietary software, you have one clear choice. And you can go to that vendor and they'll give you a nice brochure (or web page) that describes your options and often they'll even help you figure out which option is best for you. As Matt Asay says "the industry knows how to buy proprietary software".
But when it comes to open source software, not only do you have lots of choices but you have to figure them out yourself and often it seems like there are no guiding voices or a million guiding voices. You can support the thing yourself (using the mailing lists), hire an expert, purchase commercial support (maybe) and if you purchase commercial support you have to figure out which company to purchase it from. Oh, and if you're a typical company, you use 50-100 open source software products so now you have 50-100 unusual support decisions to make. Wait, there aren't even commercial options for most of those … it's a whole new world and sometimes it's easier to just go back to the easy, known model. Which I suspect was Matt's point.
Of course, this is why OpenLogic is providing one stop, commercial support for 400+ open source software products. Let's make it easy for people to use open source software.
JavaOne 2008 Recap
This year at JavaOne was the first time since 1999 that I actually got to attend a bunch of sessions, thanks to not having to man an OpenLogic booth. Overall, it was quite good. There were quite a few parallel tracks and always something interesting in at least one of them.
Perhaps unsurprising, but the major themes were:
- SOA
- AJAX
- Dueling component frameworks (JBI, SCA, OSGi)
- Scripting languages for the JVM (JRuby, Groovy, Scala)
SOA
I expected to see SOA take off this year, but not quite to the extent I found at the show. It seems that 2008 is truly the year that SOA goes from paper to reality. There were a number of real users presenting case studies around their migration to SOA, performance implications, and lessons learned. There was a separate sub-pavilion of vendors, both open source and proprietary, showing off their SOA-related businesses, tools, and services. I think it's finally getting real.
AJAX
The growth of AJAX (aka Ajax) continues to surprise me. The number of AJAX-related open source projects seems to be increasing at a faster and faster pace lately. Along these lines, I saw sessions pitching Javascript for both client and server, sites that allow pseudo-technical users to create their own mashups visually, a number of widget libraries that sit on common toolkits such as Prototype and Script.aculo.us, and sessions on improving the user experience. I also attended a few sessions on advanced web security that should make AJAX implementation a lot more interesting for the average developer.
One related presentation recommended that developers turn their application into a platform so ordinary users can create their own content and even deploy mini-applications a la the Facebook Platform. This clearly doesn't fit every application, but it certainly helps increase your Network Effect when it does.
Dueling Component Frameworks
In the "too many ways to do this" department, I saw sessions on JBI, SCA, and OSGi. Yes, they're all about integration, but they each have their own niche. JBI seems to be about creating business components that can be integrated across vendors, SCA seems more about integrating your own components within an application, and OSGi seems to be about integrating components from multiple vendors in your application. If that isn't crystal clear, it's not you.
In the OSGi arena, SpringSource has recently announced their Application Platform which is built on OSGi. This has rightly set off a firestorm of responses as it means the company is placing a big bet against the traditional application servers. It could win big, lose big, or simply be ignored. Only time will tell.
Scripting Languages for the JVM
I've spoken on Groovy for years and on JRuby for a while now, but this year at JavaOne they both had a much larger following than I expected. Each of them has improved so much in the last 12 months that it's truly hard to imagine how they did it. Their feature sets, stability, and performance have gone from "interesting - keep an eye on it" to "wow, this is the real deal". We now have JRuby on Rails versus Groovy on Grails, both of which are fast and easy to use. Just like Java with its incredible JVM, your JRuby/Rails and Groovy/Grails code will continue to get faster, more scalable, and use less memory over time without any code changes on your part. I can't wait to see how far they'll go by next year!
Parting Thoughts
One last comment on the show. It seems to me that Sun is really starting to get serious about making itself known in the open source space lately. Of course, there's the MySQL acquisition and OpenSolaris, but there's also the fact that they have an open source tool that competes with VMware (VirtualBox). They're also going to release a site soon that provides open source software project hosting similar to SourceForge.net or java.net. Their IDE, NetBeans, is now arguably the best platform for development Ruby on Rails apps (or at least JRuby on Rails apps). They've released a GUI that makes it easy to visualize MySQL performance on OpenSolaris through DTrace (there's also a NetBeans plug-in for DTrace). The list goes on.
I think they've realized that they've never really been able to capitalize on software, so why not open source it and gain some attention via the halo effect? They seem to be doing a good job of that lately, but we'll have to give the MySQL move some time before making the final judgment.
Best Practices for Corporate Blogging
Yesterday Sandro Groganz wrote about his experience helping a customer get started with blogging to promote their open source products, and towards the end of the post he offers some good tips for common questions companies have as they enter the world of blogging. While I agree with Sandro that organizations should adhere to some basic blogging guidelines—like ensuring that different bloggers “are in line with the main marketing message(s)”—I don’t think there are any hard and fast rules around things like how often to post and whether to respond to comments via additional comments or a new post. The best rule of thumb is to do what feels right to the individual blogger and fits with the corporate culture. Bloggers in an organization often handle some of the blogging details a little differently, and that’s ok.
I’m reminded of a story I heard on NPR a year or two ago about how the social norms of email communication are still evolving. For example, if you email a question to a colleague and receive an answer in return, should you respond with another email just to say thanks? In other words, when does the email conversation end? Ask a few different people, and you’re likely to get a few different answers. The NPR piece noted that it took many, many years for society as a whole to accept norms for telephone conversations—like answering the phone with “hello” rather than “ahoy” (apparently there was quite a debate in the early years of the phone). So it may be unreasonable to expect similar conventions for email communication to be widely accepted at this point in history, and I think blogs are in a similar evolving state.
For individuals and organizations new to the world of blogging, I highly recommend Naked Conversations by Robert Scoble and Shel Israel. This book presents a number of different approaches to blogging taken by various individuals and companies, and the general conclusion (at least as I remember it) is that there’s no right way or wrong way to blog. Just be yourself, be honest and respectful to others, have fun, and understand that each time you blog you’re entering a conversation with readers from a wide range of backgrounds and experiences. You can make up the rest as you go along, and odds are you’ll find yourself blogging more frequently as you get comfortable with the process and start seeing the benefits that blogging can deliver to your company.
Open Source Governance: A Webinar Series
We have some upcoming webinars on open source governance. There are three webinars in the series, but you can register for just the topics that interest you. Here are the three topics:
May 20: How to Inventory your Use of Open Source Software.
- We'll show how to use a free open source tool, OSS Discovery, to find and inventory the open source used in your company.
Jun 3: How to Implement an Open Source Policy and Approval Process
- You'll learn how to roll out and enforcing your open source policy and approval process.
Jun 17: Understanding Open Source License Obligations
- You'll learn how to uncover and comply with open source license obligations.
OLEX Includes More Open Source for Enterprises: 400+ Projects; New Comparison Matrix
We recently announced new capabilities added to OpenLogic Exchange (OLEX). OLEX is a free portal where enterprise developers can research and download certified, enterprise-ready open source.
OpenLogic's library of certified open source projects has now passed 400 open source projects. Each project in the Certified Library, made available on OLEX at olex.openlogic.com, has passed a rigorous 42 point certification process to ensure it is appropriate for enterprise use. The OpenLogic Library has doubled the number of projects over the last year. We prioritize new projects to be added based on customer requests, so the library represents some of the most popular open source projects that are in use in enterprises.
In addition to expanding the lbrary with new projects, we are continuing to add additional content and tools. We often get questions from companies about what open source package they should be using. To address this, we've created the Open Source Comparison Matrix. The Comparison Matrix does not attempt to pick a "best" option within any given category, but rather provides information on what each project is "best for". This will enables enterprise developers to easily select a set of projects to consider for a particular use. Check out the Open Source Comparison Matrix for Application Servers.
Come chat with me about my favorite topic: open source & the enterprise
I've been trying new presentation and communication techniques. I've started twittering, I've moved to Presentation Zen model slides, I've given talks to small groups, given keynotes to rooms of 700 and been on a panel in front of 3000 people. Now I'm going to try a live text chat - I think it's seriously going to challenge my typing skills but I invite you to come join me! (Maybe some of you could help answer questions in your questions like you do at talks …)
Join me 2 p.m. – 3 p.m. ET, Thursday, May 15 on Network World for a live text chat. I will answer your questions about open source and its changing role in the enterprise, or anything else you want to talk about. (Within reason - and no, I still don't know why my parents decided to call me Stormy.)
No registration necessary. Just login at 2pm ET on Thursday at www.networkworld.com/chat.
See you there!
Demanding community
You can build communities but first you have to understand them, enjoy them and play in them and one of the key things is to listen at least as much as you talk. The transition from traditional business and marketing to Web 2.0 is a tough one. This cartoon shows the confusion some companies have with social networking. I'm going to add it to my Would you do it again for free? talk.
From Geek And Poke:
Twitter was my CommunityOne theme
I had a great day at CommunityOne yesterday - Sun did a great job of putting on a good community conference. It started out with the community panel - I was a bit nervous as not only was Matt Asay moderating (and he likes to stir the pot) but it was in front of 3000 people!
The day ended up being about Twitter. We had the audience Twitter us during the panel (I did see the comment about women!)
the_contrarian @communityone Only one woman on the panel. Is that a sign of a dysfunction in the open source community? about 21 hours ago
And although we didn't get to their questions in the panel (they came a bit too fast to read!) it was fun seeing that the audience was listening and interested. Afterwards I answered all the Twitter questions in Twitter and made some new Twitter friends: @zalez, @Ryan_Singer, @the_contrarian, @rayval.
Then I went to the RedMonk unconference - they did a great job getting lots of conversation going. If anybody could keep a conversation going in the middle of a noisy cafeteria where 3000 people are swarming around you trying to get their lunch … well, it could only be the RedMonk guys. One of the discussions was around Twitter, what you hate, what you like, what you want to see, best practices … @monkchips said he'd blog it all. His theme of the day was definitely "listen more than you talk"! Another concept I found interesting was do you see Twitter as a river or a pond? It changes whether you follow lots of people or just a few … oh and don't be offended if someone doesn't follow you. It probably has to do with the river/pond idea or they might be your boss and they just really don't want to know that about you!
I met a bunch of my Twitter friends face-to-face for the first time: @SaraD, @twleung, @tmolini, @cote, @monkchips, @imurdock, @IanSkerrett, @gstein, @aglick35, … any body I missed? And I saw a bunch of my old Twitter friends: @johnmark, @webmink, @sogrady, @jzemlin, @Silona, @DivaDanese, and I saw @laurencooney several times and never got to say hi.
Now I'm off to JavaOne.






