Friday, April 30, 2010

How to help large organizations to contribute open source project ?


During the 2010 thinktank in Napa, one of the participant asked the audience the following question "How could we help organizations to contribute to Open Source software".

The problem is the following : most of the large organizations rely on open source software one way or another. There is not necessarily an official policy about FLOSS usage but system engineers and IT administrators & developers tends to use and deploy Open Source software.

In this context, and because, more-often than not, this software is critical to one or several business unit, in theory, it should be easy to contribute.

Hypothesis : IP protection and no open source policy

The problem is more acute for large organization because there is, more often than not, a legal department and some policies are in place to guide workers. Those policies are in place to protect industrial secret and more generally IP of those organizations.

In those organization, more often than not, there is no open source policy : open source leaders do not necessarily have corporate support and, as a consequence, those projects tends to be hidden/not widely publicized.

How to improve the situation : patchs & minor contributions ?

A public Open Source policy (like the one from the government of California) should be published : the goal is not really to have non-open source users contribute but simply to help open source projects to become more publicized inside the organization. It is a clear sign that Open Source is welcome in town !

Lawyers should become involved at this point in order to define a "contribution policy" for the organization. The main question to answer is : Is the corporation OK to contribute with his own name and (c) on the code or not (for marketing, business or fear of liabilities reasons).

If the organization is OK to be involved and become a more or less official contributor of the projects then, proceed to next step.

If the organization is not OK to be involved, the idea is to use a partner : more often than not an Open Source integrator that will be able to somehow "white label" the contributions and, as a consequence, cut any potential liability between the organization and the contributions (as a matter of fact, we already did this for several customers : they did not want their name to appear in the patch for various reasons).

Once this legal issue is defined, then the CIO should then publish a "contribution guideline" that officially allows and encourage bugfix, patches, documentation update and contribution to be made by internal IT either directly or indirectly (via a partner). The goal of this guideline is not, once again, to _force_ contribution : it simply show the path and will make contributing easy and possible for everyone in the organization.

As contribution become more common, good practice should be encouraged : an internal blog or intranet can be set-up to list every contribution in order to reinforce the positive attitude and to create rock stars among their peers : top contributors could be awarded some really cool things like ... attending the developer meeting of their proffered technology, attend training session or technical training, etc.

Contributing to a community is a good thing and you could then suggest the marketing & communication department to publicize your contributions to the open source community. HT department will be interested as well by this as you will be able to attract highly skilled and motivated IT professionals.

How to improve the situation : major improvements, plugins, new projects ?

In this case, the situation is a bit more complex. We did several consulting sessions for customers that really wanted to open source either a complete project or certain area of the code. Most of those projects were initiated by the IT department and let's say that the relation with the legal department was very very conflictual.

One of the root cause of this conflict is the fact that the legal department was not part of the initial project team, they were seen as a necessary evil and ... they behave as such ;-)

Lesson learned : please, involve your legal department as soon as possible. Propose them to work with a lawyer firm specialized in open source IP and licensing. Have them have lawyers luncheons and let them decide of the funny things like license and IP management for the project. 

Initially, I would recommend to start with small scale project. Ideally, select an existing add-on, plugins, piece of code. Once you can have a small success and contribute one component, you can expect the process to become more and more routine like.

After some successful projects, we could even envision an official "open-source policy" for any project that is not part of the core business/specificity of your organization but I don't think that this should be a goal : this is a consequence of the normalization or major contribution. The same concepts apply : you should celebrate success, list contribution and eventually publicize them !

Before any open-source release, you should have a process in place. The process could be very simple (in our company, this is a very simple form that ask for the Open Sourcing of a project) in order to make sure that : you own the code that you want to open source (it seems evident but ... is it ? Do you have cut&paste some code snippet, have some of your code been developed by sub-contractors, etc.) and then you can make sure that the code is not something you want to offer to your competitors. Finally, you can select the appropriate license based on your own legal department advice but also based on the type of license in use by this specific open source community.


I think that those small steps could really help large organizations to contribute more to the open source software they are using. Those ideas are grounded, easy to implement and easy to put in application. 
  • The "contribution barrier" will be lowered inside the organization
  • It will reveal a clear path for open source contributors
  • It will reveal a clear path for starting open source projects
  • Legal department will feel respected and part of the solution
  • Internal publicity (blog/intranet) will reinforce the process inside the organization

Wednesday, April 28, 2010

Snow snow snow the 27th of April

Well, I can't really believe it :  with a brand new bike in my house and a natural desire to ride it, weather is not cooperating !

In order to convince myself, I did a video of this "event" :

Disclaimer : I'm not that much a "weather" person, most of the time, I'm very happy with whatever mother nature is giving us. Instead of a bike ride, I went to a run but I've found the timing to be particularly bad.

I'm now more than ready for summer especially after my Californian trip is the conclusion of this post !

Monday, April 26, 2010

New bike : Argon 18 - E114

Weapon of pure speed !

As some of you may know, I will race Ironman Lake Placid later this year (25th of July 2010).

Of course, I'm currently in the middle of my training and I wanted to invest in a Triathlon / Time Trial bike.

After I read a lot of specialized magazine and Internet review, I was looking for a good carbon bike, not necessarily brand new. Being in Canada, I was looking for a local brand and this kind of limited my choice to three potential candidate : Cervelo (of course!), Argon18 and Louis Garneau.

I looked on ebay and other website like Kijiji and Craiglist but no luck up to this point. I also use conventional networking and I knew a friend of mine from the Sherbrooke Cyclist Club that worked for ... Argon 18.

I asked him about possible sales and ... here we are ;-) A two year old model used mainly as a demo unit and kaboom ! A medium sized, full equiped E114 : clearly well over what I was expecting. Fully equipped with Zipp404/808, SRAM Rival.

That's really a great bike, good looking and very light (8.2kg without the pedals).

With this weapon of massive speed, only one thing to do : train harder and give my best on race day ! More pictures on the bike gallery.

Friday, April 23, 2010

Ubuntu : I am because we are (book review)

When I noticed this book in Washingon Dulles airport, as a Ubuntuer myself, I did not resist the urge to buy it ;-)

My initial understanding of "Ubuntu" was the one stated on Ubuntu Site : "Ubuntu is an African word meaning 'Humanity to others', or 'I am what I am because of who we all are'. The Ubuntu distribution brings the spirit of Ubuntu to the software world."

As such, I was already genuinely interested by the subject and surprised that it was a much more complex and structured philosophy than I expected. For more on this subject, please consult Wikipedia Ubuntu_philosophy page.

The book is very easy to read and lightweight : this is a kind of initiatory novel where the hero evolves from a stressed, social hurt, on the edge of loosing his job because of work-induced problems (recent evolution to a managerial job, overtime, no family life/divorce, etc.) to a much more ethical and peaceful state of mind. The company will be transformed as well by this philosophy.

The change agent is a young man from South-Africa that happens to embodied the Ubuntu philosophy : he _is_ Ubuntu ! The large corporation where all the characters are working is in a difficult position : the financial crisis is partly in cause and the ethics and core values are not shared anymore by the employees. Business units operates independently and everyone wants to reach its objectives without consideration for the other humans and business units.

The Ubuntu philosophy is explained, on step at a time, and it is truly revealed when, a team is visiting South-Africa thanks to a HR department contest.

But what is Ubuntu ?

Instead of citing passages of the book, I will refer to the Wikipedia Ubuntu_philosophy  page :
Archbishop Desmond Tutu further explained Ubuntu in 2008:
One of the sayings in our country is Ubuntu - the essence of being human. Ubuntu speaks particularly about the fact that you can't exist as a human being in isolation. It speaks about our interconnectedness. You can't be human all by yourself, and when you have this quality - Ubuntu - you are known for your generosity. We think of ourselves far too frequently as just individuals, separated from one another, whereas you are connected and what you do affects the whole world. When you do well, it spreads out; it is for the whole of humanity.

I have found numerous common point with Buddhism (that I practice) in particular the respect ("don't be evil") and interconnection of every human being (but not only!).

This book is very easy to read and very inspiring as it reunite the "evil" corporate world (especially since the financial crisis) with a more ethical world. While I compare Ubuntu to Buddhism, the book is not religious or even philosophical : the wisdom of Ubuntu flow slowly as the book plots and characters appears. They progress along the path as the reader discover the Ubuntu philosophy.

Tuesday, April 20, 2010

Out-standing Employer

I'm very proud to be the CEO of a young company that recently obtained a certification called "Out-standing Employer" (Newspaper link , in French only : Employeur Remarquable). This certification is original because the auditors are all the team members (this is very different from most certification, like ISO9001:2000 where official auditors are not members of the team : this is an external audit process).

The certification is done from two point of view :
  • Every team member fills a 141 questions survey that is completely anonymous (i.e. : managed by a third party that will not reveal the individual results : only averages and only for groups > 5 people). This is a key advantage compared to internal survey : truth can be spoken out !
  • Managers fill the same 141 questions and are conducting an auto-evaluation of the sames practices.
During the same process, the importance of every criteria is assessed by the team members and managers.

This gave a very interesting managerial practices :
  • What the team members define as important vs what the manager define as important
  • The performance evaluated by the team members vs the performance perceived by the managers
Those results are then mapped on an Importance (X axis) vs Performance (Y axis) graphic as well as other representation (comparison team/manager, ratio performance/importance, etc.). Those graphs are very interesting as they allow team members and managers as well to :
  • Visualize the strengths and weaknesses of the company managerial practices
  • Rate, by importance, the managerial practice

The company (site in French only at this time) that created the certification is also providing an analysis of the complete data-set. They also generate an action plan :
  • Strong points : What is very important for the team, perform well, but could perform better
  • Weak points : What is performing OK/badly but is important for the team (65% and more importance)
  • Analysis by age-group, department, physical location, etc. with corresponding strong and weak points (minimal sample size is 5 to have access to the statistics)
  • Values of the company as measured by the survey : what interest the team members. This is a very precious results that you can use to recruit like-minded people that share the same value as the team.
The certification is awarded only to the teams that have 65% of the most important managerial practice that have a performance of 65% or better.

This certification reinforce my personal motto : " I prefer to work with motivated people than working to motivate people !". This is true, as far as I know, for partners, shareholders, investors, employee, customers.