Archive for October, 2011

Third Day at OWF 2011


Last but not least day at OWF this year. Yep, this is a saturday, but this was the code time for me, so probably the most interesting no 😉 ?

I started the day my making first 2 interviews for the WebTV of the event, one in french and another one in english explaining Open Source at HP. That’s what you get by sponsoring events 😉 So now, my kids can compare me with every other product seen on the TV !! By the way, it allowed me to understand that the professional video world is still unable to use FLOSS only technologies to perform such activities, and if you have spare time, and no defined project to work on, that would be a great addition to our community.

Then it was time to attend the sessions of the day and take some notes to share with you.

Lua and its ecosystem by François Perrad.

Lua is developed in Brazil using a closed development approach (just tar balls), even if it is Open Source since 1993, under the MIT license (which François underlined as important for its adoption by the embedded applications).
It’s a scripting language, fast, powerful and lightweight.

v5.1.4 is the stable version (from 2008)
v5.2 is now ongoing
(Some people still use v4 for its C API and the apps developped with it)

The language is concise but powerful: EBNF Grammar of 1 page and a Reference manual of 100 Pages (with C API, and libs included). It is 12.5 kLOCs and the binary size is 150 kB.
There are only 8 types and 21 keywords.
Lua has a table type like a hash, which allows to make everything.
It also has a userdata type to manipulate C structs/objects e.g.

Lua is portable (written only in C89 – but C++ compatible)
It exists for Linux, OSX, Windows, Android, iOS and Lego (eLUa). Other implementations exist: LuaJIT, LLVM-Lua, MochaLua, Jill (Mobile)

Lua is small but powerful (such as perl, python, ruby, subject of this conf) – It supports regex
François then showed examples of factorial and fibonacci programs written with it.
It is very easy to embed with C programs.

Lua modules are heterogeneous (no CPAN), so build, doc, test and packages are multiple.
Lua has Modules such as sockets, POSIX, XML, DB, wxLua, GTK, JSON, Corba, …

François gave then some application examples: textadept (text editor, 2kLOC C + 6 kLOC Lua), Wireshark (added scripting support with Lua), awesome (Window Manager), redis (key/value tool, server side scripting with Lua)
Lua has too few sponsors: Adobe (Lightroom), SocialMediaPress, CSTUG, OCé.

François complained that there is not a lot of return to the community in term of code from these sponsors. But after all, my take on this is that this is certainly due to the choice of license (permissive) and of development model which doesn’t invite or force contributions to be brought back. One of the reason I chose the GPLv2 for my projects. Clearly it seems interesting if you need to add scripting support to a software. now, IMHO not done to develop applications directly.

Colin Charles (Monty Program AB)
Chief Evangelist on MariaDB (he left when Sun bought MySQL)

Charles gave 3 conferences during the day to paint n state of the Art of MySQL and its ecosysem.
He started by presenting the MySQL Diaspora

Charles started by some MySQL history.
The MysQL release policy is: alpha, beta and GA. 5.0 was released in 2005.
InnoDB was bought by Oracle in 2005, which created problems. The Falcon engine, which was targetted for 6.0, was the solution but it never saw the light.
5.1 was released in 2008. Lots of bugs were present due to an early release and lack of tests. 5.2 was canceled (It should have been open to community contribs)
5.4 was the next release in the roadmap in 2008.
In 2009, Sun was bought by Oracle. As a consequence 5.4 & 6.0 were canceled.
5.5 was realeased in 2010.
5.6 is available at (2011).

InnoDB + memcached in front of it, is the NoSQL approach taken (even if Oracle doesn’t believe in NoSQL, surprise, surprise !!)
Half of the downloads at were for Windows. But most people on Linux, OSX, BSD use the packaged MySQL from their OS which thus reduces the number of downloads for these platforms and gives a wrong impression of the usage. Secondlife e.g. used MySQL out of Debian.
However, distributions tend to include only a small subset of MySQL features. There are only 5 engines compiled in Fedora/RHEL !

Charles underlined that the real uniqueness of MySQL is its ability to use multiple engines very easily (more on that in a dedicated conference below).
He detailed the commercial ecosystem around MySQL for add-ons (InfoBright, TokuDB, ScaleDB, Nitro, SolidDB, RitmarkFS) as well as HardWare vendors too (Kickfire, Virident, Schooner – going away with Oracle) as well as 3rd party engines (that Oracle doesn’t like either)

Charles then gave definition of terms: Fork == do not merge back (Drizzle e.g.) – Branch: rebase all the time (MariaDB, Percona e.g.). He then expained the different MySQL children.

  • Percona started from 5.0 (it took Google/Facebook code on top of MySQL). So Percona is MySQL with InnoDB enhancements (coming from FaceBook/Google) and minimal server changes. They have 1000+ customers in the USA. They provide more fine grained diagnostics. (Google uses MySQL/Percona for Adwords). It provides FlashCache which makes it a great offering for SSD support. They also provide the Percona Toolikit (lots of perl scripts, it is the former maatkit UDFs) to make admin life easier. Their business model is mainly around consulting, and some support.
  • Drizzle is based on MySQL 6.0 whiwh was never released. It took them 3 years to release the GA, just recently, aimed to be the RDBMs for OpenStack. However, due to the time it took, OpenSTack now uses SQL Alchemy which supports multiple RDBMs. Drizzle is Unix only – No Windows. Drizzle has a Micro-kernel architecture so everything is a plugin (including optimizer, query caches, …). Fully written in C++ now (no C anymore), it targets Cloud. It uses a lot of other FLOSS tools (including Google Protocol Buffer). Patches from MariaDB are difficult to integrate as it’s a fork.
  • MariaDB started from 5.1, and is now with 5.5/5.6 also including Percona patches and abandonned patches. MariaDB is Percona and more storage engines and lots of improvements (including µs precision, extended stats for slow query log, threads pool support (eBay), pluggable authentication, virtual columns, NoSQL, subqueries (finally in 5.3 !!), GUI for Windows).
  • Other branches are OurDelta (pet project – died), MepSQL (just Facebook patches, died), XAMPP (Windows)

For NOSQL in MySQL, use MariaDB ! Its HandlerSocket provides 700000 queries/s vs 400000 queries/s for standard MySQL. It also provides Dynamic Columns, memcached interface to InnoDB and NDB (only in the labs of MySQL, MariaDB is waiting for publication to include it – droped in 5.1, maybe back in 5.6/5.7)

MySQL cluster is an external product, which will probably be integrated in main tree with version 5.6/5.7.

From a support perspective, many companies can deliver it: Oracle (MySqL ent), Percona (MySQL, Percona, MariaDB, Drizzle), SkySQL (MySQL, MariaDB, Drizzle, distros), and many others.

Charles announced that just issued a press release about their migration to MariaDB.

He then underlined the difficulty to work with Oracle: There is no public roadmap for MySQL. MySQL is now OpenCore: threads (connection) pool is closed source (original patches from eBay !) with only API for community dev. PAM (AD plugin) code came from MariaDB and is now also closed source. InnoDB Hot Backup however has always been closed source. But xtrabackup is FLOSS. InnoDB has never been Open Source, and they are rebasing from what is published monthly.
These problems comes from the contribution agreement that Oracle forces MySQL contributors to adopt to integrate patches upstream, which gives them the possibility to close the code instead of integrating it inside the public version. Oracle is once again making foes here.

From a performance perspective, XtraDB in 5.5 > InnoDB in 5.5 > XtraDB 5.1.
Connectors remains 100% the same whatever the backend.

Scaling is the issue. Hopefully, working with HP on this we can help Monty programs make progresses on this side.
To a question I asked around Monty Programs, Charles explained that Monty Program is only developing around MySQL. Their business model is to sell 3rd level support and dedicated consulting around development. They have no interface with ordinary customers.

The ecosystem is now in fact split between multiple actors, compared to when MySQL AB was doing everything: Monty Program as the “Lab”, SkySQL for the support and Percona for the consulting, even if the last two overlap a bit.

I was lucky to lunch with Charles, so we could discuss into more details around the community, and some of the points upper were not presented during the formal presentation but are the result of my understanding during our talk. All mistakes are of course mine 😉

During the next session, I had a discussion with Charles Schulz, administrator of the foundation to get some news of this community, and they have lots of plans, some announces that will happen in October, but that I can’t reveal for now. Stay tuned however as it’ll be great !!

Then I attended the second session from Charles Colin around Storage Engines of MySQL/MariaDB

The main engines are: MyISAM, InnoDB, NDB (aka Cluster), Falcon (dead), Archive, Federated(X), Merge, Memory, and the one from Partners, Community, Customers…
The Engines list also includes AWS, OpenLDAP, CSV, Blackhole, Q4M (queuing mecanism), …

Charles then explained the default choices:
MySQL 5.5 => InnoDB by default, MyISAM for temp files
MariaDB 5.5 => XtraDB by default, Aria for temp files (more secure, as crash safe)
Percona 5.5 => XtraDB by default, MyISAM for temp files
Drizzle => HailDB (the only engine), MyISAM for temp files

The value proposition of MySQL/MariaDB around the various engines is unique. It brings flexibilty very easily, from ACID compliant InnoDB, to memory engine for performance, to archive which compresses data up to 80%
There are of course differences between engines with regards to storage (side note advise; use XFS), indexes, memory usage, transactions support (ACID), …
To see what engines are supported in your version, use show engines (12 present in MySQL, 10 in MariaDB)
Engines are plugins handled as loadable modules after 5.1.
There are some commercial engines: InfoBright (Data warehouse), TokuDB (cloud)
To use a specific engine with a table use: create/alter table … engine=XtraDB
Distributions tend to remove engines in their delivery (half only in Fedora/RHEL).

Indexes use all type of algorithms available: B+trees (InnoDB), Red-black trees (memory), R-trees (MyISAM) + hash indexes (memory, NDB, InnoDB).
For MySQL benchmarks, Charles recommended to use mysqlslap, to which I’d also tend to add the excellent HammerOra, which will allow you to make comparison with other RDBMs very easily !

Charles then explained the specifics of some engines:

  • MyISAM: excellent insert perf, small footprint, full text support. No transactions, no foreign key. Usage: log, audit, Datawarehouse. Was preferred earlier. Not usable with DRBD. Tuning hint: Use key_cache_segments = 1 in MariaDB.
  • InnoDB: for OLTP, raw disk support (useful for Windows). Tuning is also required. Use innodb_file_per_table good when locking, innodb_buffer_pool_size to memory*0.8 if dedicated. show engine innodb status gives more stats on MariaDB. InnoDB supports row & statement replication. Hint: Use a primary key (if not, it will be done for you)
  • Archive: good for auditing (can’t delete in it, only SELECT and INSERT), uses libz
  • Federated was disabled in MySQL but FederatedX has replaced it in MariaDB.
  • FederatedX: Used by Cisco to store centrally from routers. Good for synchronous replication.
  • Memory: loosing popularity in favour of memcache (BTW there is also a memcache engine !) Used for lookup, session, temp or calculation tables. Of course, when server goes down, rows are lost.
  • Aria: MariaDB only. Planned to be competing with InnoDB and was concurrent to Falcon (now dead). Crash safe MyISAM, may become ACID.
  • PBXT: ACID. Transactional. Good for SSD storage. Popular in Germany. Supports efficient BLOB. Should be more known.

To install a new engine just issue: INSTALL PLUGIN myengine SONAME ‘’

Charles reminded that a mix and match of engines is frequent.
He underlined that backup is engine dependant. LVM snapshots are a way to solve this.
Monitoring is also engine dependant.
Wordpress uses MyISAm, Wikipedia/mediawiki prefers InnoDB except search, SugarCRM uses MySQL.

Was time for me to take the mic ! and talk about
Continuous packaging with by Bruno Cornec (HP)

Brilliant presentation as usual 😉 Find it online and hopefully at where the Vidéo should appear soon.

Open Build Service by Vincent Untz (SuSE)

I stayed in the room to listen to Vincent, who insisted on the new name of the former OpenSuSE Build system which is now the Open Build Service (Vincent, I’ve now patched my presentation to be aligned ;-))

Even if goals are similar (building more easily packages and supporting a continuous packaging approach, there are still some differences I think between the tools. First, of course, language used to develop them (perl for and Ruby on Rails for obs), but also on pb side the willingness to share metadata across packages, in a VCS and providing a macro system to support it, the support of VMs *and* Virtual Environment* and now *Remote Machines*, with tools such as rpmbootstrap to help users managing them, the standalone aspect of the tool and it’s ease of deployment (just 3 perl packages + 2/3 deps max – fewer LOC). Also pb supports gentoo, and Solaris, and is very easy to extend as everything is now managed through configuration files.

Advantages on obs side are its great Web based interface, its reporting mecanisms, and its capability to rebuild projects based on modifications of other projects. obs announces a very large user base, and packages built, even if when you divide by the number of distro tuples it’s less of course. pb just supports 5 different projects so has a much less reduced installed base.

Vincent did a very good presentation, as usual, showing also how it had a positive impact on the OpenSuSE project by having all the build infrastructure rebuilt to be Open Source (GPL) in order to support the project. Another big plus of their infrastructure is their BaaS approach (Build system as a Service), whereas with pb you need to create it, even if it’s easy. However, Vincent underlined that OBS as BaaS is only accessible for Open SOurce projects. If you’re building other software types, then we are at parity as you need to deploy the tool in-house.

As I underlined at the end of my talk before welcoming Vincent, whatever the tool you use, what is the most important, is to promote continuous packaging, as a good practice of today for projects (Open Source or not). Everybody’s new mantra should become “package early, package always” !

Charles then made his last presentation of the day (busy guy !) on MariaDB.

He reminded that it is a branch of MySQL, community developped, feature enhanced and backward compatible.
Monty Program is the main sponsor of MariaDB (58% of patches come from Monty Program, 42% from commmunity members having commit access)

MySQL is now an Open Source/Core product not a project.
MariaDB is an Open Source project, with the goal to be 100% compatible and a drop-in replacement of MySQL.
It is stable (production ready) and GPLv2. XtraDB (vs InnoDB) is enabled by default.
Charles then covered the various versions published:

  • 5.1: Spend lot of time on build system (Buildbot + VMs 😉 for 5.1. No compiler warnings (contributed back). Table Elimination (aligned with big RDBMs) improves perf. Pool of threads (or connection pool, good for short running queries).
  • 5.2: Pluggable authentication. Easy to write in 1/2 days AD auth/PAM auth as Oracle published recently. Virtual columns. Includes ShpinxSE (Full Text Search Engine)
  • 5.3: NoSQL (HandlerSocket – direct access to InnoDB in perl DeNA, Dynamic columns, Group Commit, Replication, mytop, optimizer, optimized subqueries). That code may not be given back to Oracle due to Oracle recent announcement.

Everything done in the open, ML, bugs, IRC, code, worklog, KB (1400 articles in 1 year, cc-by-sa) …

Future: GIS. Merging takes more and more time. Future may be to fork to solve the Open COre MySQL approach, which would be IMHO good news for the FLOSS world, as it was sith LibreOffice e.g.

Blocks in perl6 by Christian Aperghis-Tramoni

A real course on how perl6 manages some blocks (functions where particularly detailed). Not a lot of notes, here as everything is online, and this was mostly code explanations, so I prefered to follow, rather than taking useless notes that nobody would read anyway ! What I mostly retained is that perl 6 brings some huge differences with regards to perl 5, certainly in the good direction, but will need an adaptation from old perlers such as myself, not following closely perl 6 development as Christian, and also that it’s not yet ready for usage, as lots of features are not there yet, and no optimisation is available, so from a production perspective, it’s unusable now. Perl 5 has for sure a very long life in front of him 🙂

All in all, OWF 2011 was again a great event. However, I would prefer for next year that they concentrate mostly on the Think part, which is quite unique to this conference and makes all its value, whereas code and experiment are already well represented at RMLL or Fosdem. See you there next year hopefully !

Note: Some of my photos related to this event are now available at

Second day at OWF 2011


Humm, took me way too much time to finalyze my notes, but here we go…

After the very dense first day at OWF, I attended again in the morning the Keynote sessions.

Mark Shuttleworth was brilliant as usual. Even if I disagree with his approach of time release (and told him once ;-)) he is an inspiring person, having a vision, that he shared during his “Next five years of cloud and client computing“, and … loving Paris which makes him even more sympathic to french people like me ;-).

Of course, it was more difficult for Nils Brauckman, the SuSE representative to follow him. Which doesn’t mean anything on the qualities of the respective products. Just about their representatives.

The Open Source in the Mobile ecosystem roundtable which followed was covering Android & Meego. I found it valuable, as not being follwing closely this domain, I learned quite a few things,among them the fact that Android still has openess issues, particularly in term of community management, and upstream work. For Meego, these problems do not arise, but the adoption is less obvious, which has since led to the Tizen announcement, 4 days after this event !! The round table also proposed the users view (JC Decaux) on mobile development (rarely presented).

Then Anne Nicolas presented a new company Hupstream and its specific position which is to help companies contributing back to upstream projects, where they don’t know how to do it. The team around her is coming from Mandriva, and is now behind Mageia, which gives them the required credibility to treat correctly with upstream communities, and bring back that experience to end customers for which this jungle seems unpracticle. I’m looking forward their first successes as their model looks promising, and they merit to succeed.

After that talk, I discussed a bit more with the Hupstream team to get fresh news on where they were, and it was after that time to meet with some HP colleagues for lunch. It may sound incredible, but I had not met face to face Didier Patry before, nor Hugo Roy so with Martin Michlmayr and Marc Picornell we ended up passing more time to know each other better, and exchange (sometimes horror) stories around FLOSS, Linux and HP. I really enjoyed that lunch (because I love chocolate ;-)) and due to the high quality of the particpants and their exchange of ideas. Very re-energizing !

Due to that, it was a bit late in the afternon when going back to the event, and as I had no precise session I wanted to see, I was looking around when Laurent Seguin invited me to follow him to a private meeting “Rencontre des Associations”, where various interesting discussions around FLOSS in France were held, which cannot be disclosed… yet.

We ended up at the bar of the OWF, always discussing with Laurent of our respective experiences with various projects and people, sharing again good stories. Laurent is passionate, and full of ideas to make our FLOSS cause progress, and he also contributed largely to the success of the OWF 2011, not speaking about his activities around the AFUL, as a president of that foundation !

It was then time, (again ! I know), to benefit from Paris to enjoy a second concert. This time, it was an early music one at the new Museum Quai Branly. I was lucky to hear one of the groups part of the “Chemin du Baroque” aka Caminos initiative lead by the K617 disc label around the re-discovery of baroque latin american music. The concert was given by the Ensamble Louis Berger (Argentina) lead by Ricardo Massun around Tupasy Maria, la musique baroque des indiens Charcas et Guaranis.

Again what a great day ! But not the last 😉

Note: Some of my photos related to this event are now available at

MondoRescue moving to 3.0.0


Well, if the kernel can do it, I can too 😉

In fact the current numbering schema is inherited from start. It was already changed once in the past from 2.07 to 2.0.7 to make it easier to manage package updates and be more coherent with other software.

But the current evolution was not managed seriously enough I must confess. I tried to keep the 2.2.9 line as stable as possible, but that’s just not possible, and I even included some incompatibilities during its evolution, due to users requests. The last one being the use of a real init in busybox instead of the script we were using since ages which was moved to rcS !! That’s not a minor change so could alone justify the move.

So it’s time to mimic Linus once more and to move on to a hopefully more clear numbering schema:

  • 3.0.x will be the next stable (long time support), and it will get incremental update as was 2.2.9.x, but without disruption in functions.
  • 3.1.x will be the one after with memory management reviewed, and busybox optional (right now it’s removed, but as a friend suggested it to me, it could valuable to give the choice and keep it around as well
  • 4.0.x is now the planned perl rewrite

So expect 3.0.0 not later than next Monday, before leaving for LinuxCon. The bugs I need to handle are those of my HP customers :

if I can solve bug #500 and #473 around mdadm format (personal dev), I’ll do. I have looked at it, but it requires modifying some internal structures, and I’m always careful when having to do so. Maybe rather for 3.0.1.

Tribute to Dennis Ritchie: also a sign of the epoch :-(


What a shame to be so spotty 😦 Nicolas, a colleague, just sent me the news that Dennis Ritchie passed away.

If I work today on what I do, it’s thanks in part to him, so I’m grateful for what he did. And I’m far from being alone. His impact on the computer and IT history is already known as major. However, not a single line in the general french press for example that I queried online. Only IT sites speaks of this, whereas for S. Jobs there had been major news.

Hope people will realize that without Dennis Ritchies work on Unix back in the 70′, there won’t be any iPhone today, nor iMac. Too bad that Unix is becoming so old, as a generation is reaching an age where this type of news will become more regular. But it’s also encouraging to see that so many took the light further after him, and I’m sure he was proud of the work accomplished, which is all what you want to feel when the end arrives no ? So Requiescat in Pace Dennis.

Anyway, I’m grateful he did what he did, I’m enjoying so much what I do in my work today thanks to his work (and the one of Thomson, Kernigham, Tovalds, Stallman, Gutemberg, Pythagore, Petrucci, too numerous real creators to be cited all here …)

We stand on giants shoulders. We just need to be reminided of that from time to time. And celebrate them, as much as we can when they are still with us.

Tribute to Steve Jobs: sign of an epoch


I’m among the people who are puzzled by all the fantastic tributes that you can find around Steve Jobs. Not that he doesn’t deserve to be recognized as the CEO of Apple, one of the most brilliant marketer of easy to use IT products.

Of course he helped his company realizing products which have had influence on lots of people worldwide. But for me, this manifestation of over celebration doesn’t place the emphasis on the right level: the inventors, the engineers, the creators.

Our epoch is prompt to value the guys who sale (and they are needed, and have their role), but forget to celebrate the inventors, the guy without who nothing at all would have been possible. Just the week after the names of Nobel prices were announced, and were most people already forgot their names, whereas what they have fone is what is really modifying our lives.

From an Open Source perspctive, Steve Jobs has taken lots of the benefits of the BSD license, but didn’t realy transform Apple into a big Open Source player. Worse, he made everything to kept the platform as proprietary as possible. That’s probably why I’ve never bought one of their product. I’m still a fan of the PC where you can add the cards of your choice, the OS of your choice, the boot loader of your choice, and transform this versatile machine into what you want. Far from the easy appliance concept brought by Steve Jobs, but hey, there is room for everybody.

Of course, I’m touched by the fact he suffered from his disease, and fill sad of that as there is no good reason why a man should be touched like he was. But I continue to be happy that the other founder of Apple, Steve Wozniak, the person who invented a computer and was releasing plans for it, is still around with us 😉

The fact he is today behind the Fusion-IO team shows that he still detects what makes sense in the technology area,and is involved where it makes fun to be. Not too far from Linus’s book title “Just for fun”.

So kudos to Steve Wozniak who changed the computer industry somewhere, and still is. Kudos to a Linus Torvalds who decided to deliver his work under the GPL to create one of the most amazing creation of the IT, the Linux kernel. And kudos to the thousands of free software developpers who do the same, including some of them at Apple. Hopfully people will realize that you are the one who make computing history as well and deserve tributes.

First day at OWF 2011 – Afternoon


After lunch, it was time to come back in the “Open Source for industrial users” track lead by Gaël Blondelle.

Increasing industries speed to innovate with FLOSS by Dominique Toupin, Ericsson

  • Dominique started by asking a question: Does speed really matter ?
  • He rapidly concluded that yes, of course. He gave some examples of projects initiated by Elon Musk, such as Zip2 sold to Compaq in 1999, Paypal. Or Tesla (Electricity car) and also SpaceX. All were very complex systems elaborated in a short time thanks to Open Source. Same is true for Google/Android.
  • You end up with better features by doing Open Innovation and teaming up experts from different companies.
  • This is also valid inside your company: whole greater than the sum of the parts. And you’re not locked in.
  • Only 15% of RFE are really implemented in commercial products. In FLOSS, when a feature is key, you can do it yourself or buy someoneelse’s time so that it is realized at 100%.
  • People tend to oppose FLOSS to commercial, make to buy. It’s not the case. FLOSS is commercially supported, so just take the best of both worlds to fullfill your need of speed.
  • Requiring tools across the whole chain (and expensive ones) slow down your service activity, whereas using FLOSS tools in development brings speed to the service part. And you gain time with existing knowledge from universities or company acquired.
  • FLOSS allows to dedicate the extra budget gained on licenses costs into the features you need.
  • E/// has an Open Source Core team.

A very pragmatic approch exposed by Dominique, showing clearly tradeoffs needed at industrial level.

Efficient and safe FLOSS strategy by Michel Ruffin, ALU (on behalf of Philippe Richard, VP of Corporate CTO)

  • Size matters: 79000 employees, 27900 patents, 27000 developers, 130 countries, numerous suppliers and outsourcing, multiple acquisitions per year (=> deal with legacy), life cycle from 1 to 20 years. Makes developing the Governance process “interesting”.
  • Trend towards becoming an integrator of FLOSS with more complex SW stacks, reducing however the development costs during time.
  • ALU’s strategy is going to FLOSS to remove supplier lock-in, much more than to reduce costs.
  • Between 20%-80% of FLOSS components in their products (40% in average). Importance to create internal communities to discuss FLOSS related topics. FLOSS adoption means innovation, speed, freedom, new business model (moving from a HW/SW supplier into a service supplier)
  • ALU is a contributor of FLOSS (even if not known). By paying providers (10+MUSD), providing patches/bug fixes to tools, Corba/Mico, Plan9. Also sponsoring OWF, FOSSBazaar, Systematic, OVA, Carrier Grade Linux (LF).
  • For ALU, it matters to respect the philosophy behind the words of the license and thus contribute.
  • Strong FLOSS Governance process started in 2002. Process evolving constantly (taking in account new techno/licenses/acquisition/…) 160 people trained 1 week to be FLOSS validators. 1000 people trained on a basic tutorial. 3500 FLOSS components in ALU DB. Clauses in supplier contracts (propagation to their own suppliers). ALU willing to share the governance process with other companies. ALU would like to standardize these clauses with the Compliance group of the LF.
  • R&D is declaring FLOSS usage. ALU is also automating the BoM by scanning code (BlackDuck/protex and FOSSology)
  • All this is available as much as possible on the Internet (However, I was not able to find easily the oprtal mentioned in Michel’s slides 😦)
  • On top of the process, you need to check that it’s applied (start with CxO, R&D – even if they think they know), Communication). Then improve the process, deal with exceptions, stay flexible, and stronger during time.
  • Resources to support the process needs to be allocated accordingly. Use tools to automate and to detect issues and inform executives.
  • Challenges around stuff like Maven, SPDX adoption, partnership with other companies …

ALU presented a strong Governance model, including now suppliers, and is willing to share best practices with others in order to improve the ecosystem. Network Equipment Providers are clearly taking seriously this area.

Business model of co-development on FLOSS by Denis Pillat, Service Delivery Manager for ALM at ST Microelectronics and Laurent Charles, Enalean

  • Custopmer (ST) funded the development and save on the maintenance by contributing to the product Tuleap (a FLOSS ALM).
  • Customers’ developments are also supported by the partner (Enalean).
  • Strong internal usage of the forge (120000/40000 users) so central, with requirements around robustness and availability (ran 24×7) and long life cycle, but with an improved TCO. If budget is cut, needs independance from provider.
  • ST is not an ISV, team role is to support deployment and integration in ST landscape.
  • Solution retained is a mix of in-house and outsourced solution.
  • Using and adapting a FLOSS costs as it requires backporting features each time with new versions, and ST is not scaled to cope with the rythm of a FLOSS project.
  • Code and features from ST are reviewed with Enalean so easy to integrate. The partnership is of good quality. And also good quality of contributions.
  • For ST, FLOSS increases motivation of contributors with their work recognized and exposition, and they work more on creative parts, and less on maintenance tasks.

I think the presentation would have been more effective if ST would have been the only speaker (or speak more). The track isn’t aimed at promoting companies, but really share return of experience around FLOSS adoption.

TopCased return of experience ( by Pierre Gaufillet, Airbus

  • Pierre first presented some characteristics of an airplane development in size throughout the years:
    • 4 kB for Concorde
    • 4 M for the A320
    • 12M for the A330
    • 500MB for A380
    • Life cycle: 40 years – A300 family (started in 1972 and production stoped in 2007 and support till 2050 = 78 years). Tools need to be there for a very long time.
  • Code is increasing. Quality is mandatory
  • Historically, development of their own tools to check quality. Not their core business. Moved to a buy approch.
  • Internal tools transfered to editors, who tried to sell them on larger scale, which failed as too costly and too specific. Some examples:
    • For Autan (Airbus name) => Attol (Marben) => Attol (Attol-Testware) => RTRT (Rational) => RTRT (IBM)
    • For RTRT they succeeded, but Airbus has anyway problems with the life cycle of this tool.
    • Scade (Airbus + Schneider) => Verilog => CS => Telelogic => Esterel Tech.
    • Geode (Airbus) => Verilog => Telelogic even died !
  • no more control on these tools by Airbus anymore. Sometimes can’t even buy a license anymore.
  • Topcased started in 2004. Reduce dev costs using model based System Engineering.
  • Integrated universities and academic partners.
  • Topcased aims to produce tools for embedded domain on critical system, on the descending branch of the V life cycle.
  • Community around topcased includes Airbus, CS, CNES, Thalès, EADS, Atos, AdaCore, INSA, EnSEEIHT, Toulouse Univs, Inria, Irisa, Laas, Onera at start. Now additional new partners such as Turbomeca, Continental, Obeo, Carnegie Mellon, CEA
  • 2006: First FLOSS release. (One year to solve licensing aspects)
  • 2007: V1.0 and then one major version per year synchro with Eclipse. Minor every 2 months.
  • 45 subprojects from model editors to code plan generator, model simulator to property generator.
  • 2011 first TopCased conference (> 100 persons)
  • Allows competitors to work jointly on components.
  • 12 components are in use today (A350)
  • However, an organization is missing to improve quality and IP control, maturity assessment, VLTS build system, roadmaps. OPEES (ITEA project) aims at fixing that.

I really like this presentation (that I first heard partly during the Think Tank 2010). It clearly shows the huge problems that software development still needs to solve in order to support such life cycles. Raises questions such as how to motivate a community to maintain software for so long time, typically. Also how to preserve build environement, especially when the hardware is changing as rapidly as it is today.

It was then time for me to change session and move to the Governance track lead by Martin Michlmayr.

I contributed briefly to a join talk with Antelink.

Tools for developers to ensure legal integrity of their code by Freddy Munoz, Antelink and Bruno Cornec, HP.

Freddy explained in more details what Guillaume covered in his talk of the morning, and went through the details of Antelink Notifier, Reporter and Search. For myself I covered rapidly FOSSology, giving its main features and also the latests developments realized. Of course, as the project is hosted by the Linux Foundation, as long as they keep the systems away from Internet for forensic, it will be difficult to have access to the project 😦 But hopefully, it will be back soon.

Identify the obligations of FLOSS by Benjamin Jean

  • a License (or contract) is a tool made of rights and obligations, a scope and trigger
  • Writers can be foundations or Companies
  • Number of licenses increases (70 referencesd by OSI, >50 by FSF, 1000 by Black Duck, 400 FOSSology)
  • Benjamin gave some statistics:
    • For Black Duck 43% is GNU GPLv2, 11% is MIT, 7% is Artistic
    • For OpenLogic 32% is Apache, 21% is LGPLv2.1, 14.4% is GPLV2
  • We need clarification: a common nomenclature (detailed and scalable) & descriptive
  • International standardization body is a good way, but very expensive, and not driven
  • Benjamin proposes a first classification based on obligations (to give, to do, to not do.)
  • Rights are harmonized across definitions (some more rights depending on licenses or some missing)
  • The real differences are around trigger, scope and obligations. Benjamin then detailed those:
  • Obligations have no common definition whereas a standard would be useful for projects, industry
  • Scope can be very limited (permissive), limited (GPL/GPL sometimes, CeCILL-C, MPL), standard/legal (EPL, EUPL, OSL) or large (GPL, CeCILL)
  • Trigger: Distribution (GPL), Usage (RPL), External deployments (AGPL, EUPL, …)
  • License compatibility could also be classified between limited and extended. Cf also work done at the Inria, described on their Web site in the Innovation part, Free Software then the guide.
  • This classification can also easily be valid across countries and thus not being dependant of local legal rules.

Benjamin’s approach was extremely sharp and that session was really deserving belonging to the ‘Think’ part of the OWF ! This approach by obligations could really improve the situation of licenses compatibilities and help all the actors of our FLOSS ecosystem.

I had still a bit of time to discuss with him, Martin and Marc Picornell before leaving the event and benefot from the fact I was in Paris to attend a concert at the Chatelet Theater performed by the National Orchestra lead by D. Gatti. Ravel, Dukas, Debussy and Enesco made a radical change for the end of the day !

You can see some of the pictures took during OWF 2011 at