When it comes to connecting people, the first thing you need to do is use the same language.’  That doesn’t mean force everybody to use your language, because that’s what dictators do (and dictators are wiped out by history). To connect people you have to adapt to people’s language, eventually learning many of them.

This post describes a user experience with new services launched by Nokia and he highlights the major issue I have seen with most, if not all, of the services offered by the big guys:

Nokia Chat I can appreciate because it’s cool new tech — but unless it’s going to support those cool features on a wide range of devices, including non-Nokia ones, it’s pretty pointless for me.

That’s hitting the nail on the head: how can somebody design a chat system that is not interoperable with the rest of the world? It’s the abc of networked economies. Like the fax machine or the telephone itself, more users more (squared) value.

Thinking that everybody will want to buy a Nokia (or Samsung or iPhone or you-name-it) to be able to chat with other that have the same system is arrogant, to say the least. Nonetheless, it’s a mistake that many incumbents are making and one that Funambol is trying hard to avoid. By releasing clients for all platforms Funambol demonstrates that it believes in cross-platform, open standards and interoperability.

I love geo-information.’  I still work on GIS, every now and then (I’ve just finished a project to map damages in Venetian buildings together with Politecnico di Milano and others) and it’s so much fun.’ ’  It’s great when you can integrate data from different sources and make sense of different phenomenons. The Venice application maps damages in buildings and it allows to integrate also data from marine flows, traffic in the canals (and their waves), winds and so on, in search of cause-effect correlation. Integration is a powerful tool and you need interoperability for that.

Fabrizio integrated Dash with with myFUNAMBOL,

which now pushes to the device my calendar events. That is, if I put an appointment on my Outlook and I add the location in it, it shows up in the car. I mean, I get in the car and I have all my appointments there. One click and I get routed to the place (with the fastest route, avoiding traffic jams).

This new gadget sounds so cool, I almost want to finally buy a car (I never had one, I prefer carsharing), get a Dash and move to California.’  For now I’ll stay in Milano, keep the scooter and participate to OpenStreetMap in Milano next Sunday.

Here we are again with the European Commission being asked by a competitor to remind Microsoft that competition doesn’t mean abuse of dominant position. I have a sense of deja-vu. Opera Software has asked the EC to investigate if Microsoft is abusing its dominant position by tying its browser, Internet Explorer, to the Windows operating system and by hindering interoperability by not following accepted Web standards.

As in the past antitrust case, won by the EC, there are two parts: one is the bundling IE with Windows and the other is the interoperability issue. As before, the bundling issue is less important because the real problem is interoperability, a word that Microsoft has always interpreted in a monopolist way: I do whatever I please, and I set ‘industry standards’ by myself convincing clients and partners to either follow me or be squashed.

There is little doubt that Internet Explorer doesn’t support W3C standards well as Safari/WebKit, Firefox and Opera do, but nonetheless many web application prefer to support the non-standard browser because of IE has 80% market share. So, the question whether Opera is right to complain to the antitrust authority is a clear yes. Opera made a tactical move to pressure the dominant gorilla and at the same time inform the public about the interoperability issue. If Opera really cares about interoperability it should also support the W3C to keep its power and resist against Nokia’s proposition to remove referent to patent-unencumbered OGG format from HTML5.

Update: Microsoft informed that internal builds of IE8 pass the ACID2 test

I’m starting to feel the pain of developers attempting to write applications on top of OpenStack clouds: it hurts, and I haven’t come anywhere close to doing anything special.

I started following the getting started tutorial for First App Application For OpenStack (faafo) and I gut stuck on step 1, authentication. There are way too many things that are convoluted, confusing and sometimes carefully hidden (or ridiculously displayed) on Horizon that make it too hard to get started developing apps on OpenStack. I started following the Get Started document for python-libcloud:

You need the following information that you can obtain from your cloud provider:

auth URL
user name
password
project ID or name (projects are also known as tenants)
cloud region

Looks simple but it’s not. The auth URL doesn’t include the path say libcloud documentation but in practice every cloud I tried behaves differently. DreamHost and Runabove require not only v2.0/ but also /tokens after the base URL (https://keystone.dream.io/v2.0/tokens) while CityCloud and HPCloud seem to work according to the documentation. Some will throw weird errors if you add /tokens. Libcloud is also confusing regarding support for Keystone API v3 (which Citycloud uses): the official docs don’t mention v3 (bug), but a blog post from libcloud maintainer provides examples on how to use it.

Finding the right projectID or name is also challenging because some clouds don’t show the project ID immediately in the web control panel (and not every cloud I tested runs OpenStack Horizon). Chances are you’ll have to find the RC file, which is fairly easy if the cloud you’re targeting is using Horizon.

Even after I found all the pieces, I haven’t managed to authenticate using libcloud on CityCloud, Rackspace (using openstack provider) and HP. Only with OVH I managed to authenticate and get a list of images with my stock Ubuntu 15.04. I managed to authenticate on DreamHost only on Ubuntu 14.04 and on a clean, updated virtualenv.

It took a lot of trials and errors to get rid of the Method Not Allowed errors and get libcloud.common.types.InvalidCredsError: ‘Invalid credentials with the provider’, which at least is hinting that I have guessed the auth_url for Citycloud and HP. But I have no idea why credentials are not accepted, since the username and password are those I use on the Horizon panel on HP and on on the custom Citycloud panel. My guess is that I haven’t guessed correctly the project_name or tenant_id or whatever it’s called. This is too confusing.

OVH seems to works, but it requires the full url:

auth_url = ‘https://auth.runabove.io/v2.0/tokens

it won’t work without /v2.0/tokens.  So, after spending one day reading docs, trying to guess permutations I started thinking that probably libcloud is not a feasible approach.

I’ve started looking at OpenStack Infra homegrown interoperability library shade instead: authentication went smoothly immediately with DreamHost and HP on my machine. At least that part was easy and I managed to make some progress in my test with that, finally. Hopefully by the end of the day I’ll have the FAAFO running on

The end result is that it shouldn’t be this hard, even for a very modest developer like me, following a well written, copy-and-paste tutorial should not be as confusing. A lot of work needs to be done to make OpenStack clouds friendly to app developers.

I read someone complaining about OpenStack being not friendly enough to startups one time too many. Latest post by Rob Hirschfeld 10 ways to make OpenStack more Start-up Friendly made me want to respond. I just can’t stand the Greek chorus of complaints, especially from someone who sits on the board and can actually push for changes where necessary. I promised I’d spend time on his 10 points and here is my take on each of them:

Accept companies will have some closed tech – Many investors believe that companies need proprietary IP. An “open all things” company will have more trouble with investors.

Why is this an OpenStack problem? If the VC industry have a problem with open source then the problem is of open source as a whole or of the VC (depending on your point of view). Maybe customers prefer to buy open source based solutions instead of buying proprietary code from small startups. This is not an OpenStack issue.

Stop scoring commits as community currency – Small companies don’t show up in the OpenStack committer economy because they are 1) small and 2) working on their product upstream ahead of OpenStack upstream code.

Code is the most valuable currency in an open source project, there is absolutely no way OpenStack should be any different. Companies small and big will be contributing compared to their size and code is how a small company doing great work can gain more influence than a large company doing little stuff. If you’re saying that the community shouldn’t put first and foremost the “top ten” charts of companies contributing (like stackalytics does), then I agree with you. The Foundation celebrates individual contributors to the release and only counts company. This is not an OpenStack problem. Maybe it is a stackalytics problem and one of the reasons I prefer to partner with Bitergia for the community dashboard.

Have start-up travel assistance – OpenStack demands a lot of travel and start-ups don’t have the funds to chase the world-wide summits and mid-cycles.

OpenStack has already has addressed this problem with the Travel Support Program. In Vancouver the Foundation spent around $50k to send about 30 people from all over the world, from startups and students. If that’s not enough, I’m sure more money can be raised for that. This is not an issue, there is a solution in place already.

Embrace open projects outside of OpenStack governance – Not all companies want or need that type of governance for their start-up code base.  That does not make them less valuable, it just makes them not ready yet.

I don’t even know where this comes from: is anybody forcing anyone to host code on git.openstack.org/openstack namespace? And isn’t the OpenStack project offering for free its resources to host code in our systems, without imposing governance or rules with git.openstack.org/stackforge? If there are companies interested in getting under the OpenStack governance, it’s their choice and based on my knowledge they choose because they get business value off of it. This is a non-issue.

Stop anointing ecosystem projects as OpenStack projects – Projects that are allowed into OpenStack get to grab to a megaphone even if they have minimal feature sets.

Even if this was a problem, and I don’t think it is, it should work in favor of startups: many of them have nothing to show but good intentions, for which a megaphone is exactly what they want and use. This is a non-issue.

Be language neutral – Python is not the only language and start-ups need to make practical choices based on their objectives, staff and architecture.

Nobody forces anyone to become an OpenStack official project (which requires some level of standardization). It’s a choice. And, in any case, there is a lot of javascript and ruby in OpenStack, with pieces in Go also coming. This is a non-issue.

Have a stable base – start-ups don’t have time to troubleshoot both their own product and OpenStack.  Without core stability, it’s risky to add OpenStack as a product requirement.

This is a tautology also it’s something that is being constantly advocated and keeps on improving.

Focus on interoperability – Start-ups don’t have time evangelize OpenStack.  They need OpenStack to have large base of public and private installs because that creates an addressable market.

So let me get this straight: IBM, EMC, Cisco are scooping up the first waves of startup that tried to build a product on the rudimentary OpenStack. Such big guns have the clout to create that large addressable market, lending their credibility to OpenStack as a whole. They also pay good checks to the OpenStack Foundation to power its awesome marketing machine.  This is good for startups: they ride on a wave created with someone else’s money.

Limit big companies from making big pre-announcements – Start-ups primary advantage is being a first/fast mover.  When OpenStack members make announcements of intention (generally without substance) it damages the market for start-ups.  Normally corporate announcements are just noise but they are given credibility when they appear to come from the community.

Yeah, right, like you can really put on a rule against vaporware. It’s the way this market has worked and will continue to work this way. Startups, in any field have to learn how to live with it. This is not an OpenStack issue.

Reduce the contribution tax and patch backlog – Start-ups must seek the path of least friction.  If needed OpenStack code changes require a lot of work and time then they are unlikely to look for less expensive alternatives.

Here I guess you’re talking about contributions to existing OpenStack projects, like Nova, Neutron and the like. If you think that some company can innovate fast on Nova while keeping the interoperability and stable release you talk about above then you’ve managed to confuse me. How realistically can you have some startup rip Nova apart and replace parts of it (all of it?) with the greatest big thing and keep the thousands of users out there with a happy upgradeable path, interoperability and stability? This is just impossible to reconcile. Startups cannot innovate on something that is mature and in production. It would be like asking Apache HTTPD to be something else. Guess what: nginx happened outside of Apache and it’s only natural. As a parallel to OpenStack, if someone comes up with a better Neutron, written in Go or Rust, and wide support I’m ready to bet it will be admitted in the big tent rapidly.

Let me tell you why I think that OpenStack is at least as friendly as any other business environment, and maybe more:

  1. Corporate sponsorship for startups is low, a lot lower than for big corporations. And there are ways to lower the admission price even further (just ask).
  2. The ecosystem is now so huge that cool startups innovating on the edges can get exposed to potential customers, investors and buyers very quickly (the megaphone works).
  3. The ‘cloud’ space is so rapidly changing that the big guys cannot keep up and count on startups to do the risky experimentation. There are lots of big companies in OpenStack, I suppose there are opportunities to find good contacts.
  4. The OpenStack Summits have a whole track dedicated to startups, with talks about funding, business, strategies, acquisitions and more.

And finally a reminder: all startups operate in extremely unfriendly environments, most startups fail for various reasons.

The recent exits of companies that innovated on the edges when OpenStack was held together with shoestring and spit as glue are to me a confirmation that the edges where innovation can happen are just moving outside of Nova and Neutron. It’s just normal and to be expected with the maturity of the project.

Let’s celebrate and be happy for Piston and Blue Box and the others. Startups will always be welcome and will always find a good home in and around OpenStack.

I love it: Microsoft calls the European antitrust authorities against Google. Ironic. And a waste of time: the consumer is not harmed by Google, consumers are getting software and services for free. Interoperability is saved and guarded. Case dismissed.
Just don’t buy that combo: Mac and BlackBerry are two very closed environments, they don’t want to be interoperable, they hate each other and their customers.

Not that I would make such mistake, never. But I have friends that do this kind of stuff and then I’m enough of a friend to share with them the painful experience.  A very good friend of mine loves Mac: it’s a cult (no rationality, only emotions) coupled with a very strong lock-in strategy with non-standard data format and in general poor interoperability with the outside world. She hates touchscreens, so she ruled out buying an iPhone. I can’t really say that this is necessarily bad because the iPhone would have tightened her data in stronger shackles.

So she decided to buy a BlackBerry Curve 8900 hoping that RIM’s newly released Desktop Manager for Mac would work. As she soon realized, that was a wrong assumption. I tried to help her out but DM for Mac is a smelly piece of **ap.  The software installs fine and when you connect the phone for the first time the DM happily tells you that there are upgrades available for your device. Do you want to install them? DM asked. Not now, I answered, as I first want to do a backup of all data. Ok, clicked on Backup.  The DM tried to shit but only farted: after 3 minutes with a progress bar not progressing, it said ‘Sorry, can’t backup’. Ok, I said, lets try this again. This time no useless progress bar, nothing. I noticed that the BB seemed disconnected. I unplugged and plugged it in again several times but nothing changed.  I tried soft rebooting the machine with no result, so I hard rebooted it taking off the battery. Everybody hates rebooting a BB: after waiting for 3 minutes I connected the usb cable again to the Mac Desktop Manager and the device showed up again, connected. DM asked: Do you want to install the updates for your device? This time I answered Yes, thinking that maybe declining the request the first time was the reason for the mess. Well, it wasn’t: the DM started the upgrade process but, after a few painful minutes watching the progress bar not showing any progress, it eventually gave up. I tried again the soft reboots, unplug-replug., hard reboot, etc. I even uninstalled and reinstalled the RIM Desktop Manager as suggested in the BB forums (wow! a pure Windows mentality) until I finally gave up.  I’ll see if I can find a Windows machine for her to update the BB firmware and see if that solves the problem of communication between Mac and BB.

The lesson learned is: if you buy highly proprietary products like Mac and BlackBerry don’t expect them to be interoperable between each other. These companies hate each other and they sacrifice their user’s freedom of choice only to see the other company suffer.

I’ve been listening to the conversations about Mono since this summer. I was waiting for the dust to settle before I started re-reading the various comments but the dust is not settling and the protagonists of the summer name-calling-fest are still busy pointing fingers at Richard Stallman for stating his opinion.

Stallman’s position is pretty clear to me: he is afraid that software patents can kill the work of his life, depriving users of the digital freedom that he and the FSF have been promoting in the past 25 years. His reasoning is very logic, as usual:
1) software patents are a threat to free as in freedom software
2) Mono uses patented techniques, patents held by Microsoft
3) Microsoft’s business model is incompatible with free as in freedom software and recent behaviour confirm that Microsoft uses software patents to attack free software.

Given these premises, RMS concludes that Mono is not a safe framework to develop applications on. I’ve read and agree with most of the poins made by the Ubuntu Technical Board and Dave Neary. In other circumstances I would have agreed with him also on this one:

I fundamentally disagree with discouraging someone from pursuing a technology choice because of the threat of patents.

Except that this time it’s not a generic technology that we’re talking about. It’s Microsoft. With them we can’t be friends unless proven wrong, it must be the other way around: Microsoft has a history of misbehaviour and of abuses. Microsoft needs to demonstrate that they’re worth being trusted. They made a step forward adding a promise not to sue on C# and CLI. But they must do more, much more in that direction before the free software community can feel safe.

I hope that the name-calling stops on all sides. I became very sad reading the offense thrown at Suse/Novell developers. I hope also that proponents of Mono will understand that the issue is not how good C# and Mono is but how trustworthy Microsoft is. Mono proponents need to convince their friends at Microsoft to change their attitude towards free software, release information to reach interoperability under copyleft compatible terms and stop abusing of the patents system. I think that this is what the free software community really needs.