Saturday, April 2, 2011

Federation - some plus, plenty negative - Canterbury

In competition, a useful tactic is to pull your competition onto ground, on which you are particularly strong.

Part of the reason Microsoft has lost it's way in Enterprise software*, is because the newer upstart (Google) has become it's focus.

Microsoft has launched its first ever antitrust complaint, telling the European Commission that Google is engaging in a variety of anticompetitive practices.
Source: (March 2011)
( I will not comment on the merit of the antitrust complaint, as it may involve lengthy examination ) 

You could argue that Microsoft is just evolving by reacting to, Google online document editing, and cloud computing initiatives.

The plus for Google is that whilst the competition, is busy trying to emulate, then they are necessarily taking their eye off the traditional strengths.

Microsoft was once very successful, in locally installed Enterprise software* such as Server OS and Enterprise Database.
Opinion: Oracle (not Google) with full stack (after Sun acquisition), Unbreakable Linux, and MySQL, are eating into that successful business.

*I specifically exclude desktop OS software here as the players I am considering in my thinking are Google, Oracle, Microsoft and it helps to consider areas where they currently compete directly.

( When Chrome OS launches AND if [ever] Oracle makes a full desktop OS play, then I could bring desktop OS into this article )

The GNU / Linux systems vendors in 2011:

Are in a state of flux, should they be aiming for servers, desktops, netbooks, tablets ... where is the market. Is touch really necessary, do we need flexible shell style desktop window managers, etc.

The Debian project has just launched the best Debian ever (Squeeze).

However with this latest success, comes a raising in profile, and Debian is facing new threats.
  1. The amount of code submission, in languages owned or associated with (OOAW) those opposed to 'sofware freedom'
  2. A two year 'language envy' phase (2010 and 2011) which has led a small number of developers, to push (OOAW) code nearer to essential tools.
  3. Effort required to pedal against the 'non-free' elements of a Linux kernel.
  4. Point and Click mantra
  5. Federation (the subject of this article title)
  6. Other distributions seeking 'Copyright Assignment' commitments from developers - may or may not be a threat - arguable.
  7. New subprojects which are included in Debian and derivatives, but are using money gained from this association, to fund development for platforms that are opposed to 'software freedom'
This article would turn into a book if I explored all 7 of those points in detail, however I will draw out (4) as worthy of a little expansion here and you will see why hopefully.

I mentioned in the first sentence of this article, and in discussion about Google and Microsoft, the dangers of allowing the competition to draw you into their approach / strategy.

The 'Point and Click mantra' has not had too much effect on Debian yet, however there is pressure. Because the number of Debian developers who are active in Perl is slowly declining, and because Ubuntu (I guess) has no big Perl community to speak of, there have been some suggestions regarding package management (apt)

It would be a mistake to tie too closely command line tools and graphical interface. Sound familiar? Well that is because Windows and Mac have adopted that approach right from the start.

Why would it be a mistake? Because traditionally the Unix way is to develop small modules of code, which are efficient and well tested, and link them together first in CLI form, and then optionally a User Interface coupling.

If Ubuntu developers want to do 'rapid development' involving tools and languages that tie the application logic directly to the User Interface, then that is up to them, however such an approach has risks.

Python is a superb language, Python has great user interface libraries PyGTK, PyQT, wxPython. Ubuntu has plenty of Python developers to call upon.

The 'language envy' phase which has blotted small portions of Debian should never be allowed to run unchecked, towards central tools such as package management.

Ubuntu likes 'Point and Click' (a lot). Ubuntu has made a decision to move towards Wayland / Unity rather than X11 GTK / X11 QT, that is their choice.

However the Ubuntu project should have the conviction to fund PyUnity or some other serious effort, rather than being drawn into areas, which have been a weakness of Windows and Mac (close coupling and tendency towards less-modular methods of development)

...And as if by magic here is perhaps something that might be a first step in that direction:

The true test for a new user interface python link will be if it ticks the following boxes:
  • Developers use it because it is great
  • Developers are encourage (by Canonical) to use it because it helps them play to traditional *nix strengths.
  • It has enough resource committed by Canonical to make it stable and usable enough for it to play a serious part in November 2011 release "Oneiric"
  • Canonical develop this to be close to a feature match for the mature PyGtk / PyQT / wxPython toolkits.
Canonical would really impress, if they also funded a bit of development of one of the Python IDEs (IDLE, Eric, or Pyragua) to make creating Python Unity applications a breeze for developers.
( This would help mitigate threats (1) and (2) above in Ubuntu's own realm )

Revisiting my point about package management, however it happens in Debian and Ubuntu, it should be CLI based (initially) and use the modular principles of development which have given *nix based distributions a reputation for stability.

Why might Federation be a bad idea for Debian?

Because it would mean breaking the Debian Social Contract

Unfortunately different distributions have different interpretations of what 'software freedom' means.

Some have a leaning towards 'open core', and might put a Social Contract way down the list, behind enterprise subscriptions.

( Even as an April Fool's joke, there are always a few who might say "why not do it". )

Rather than write much more in this section, perhaps refer back to the threats 1->7 mentioned above, and ponder for each item, whether a Federation might increase the threat or not.

Federation - An analogy outside of GNU/Linux distributions:

I am not a Euro-sceptic, and am positive about European integration (mostly), however it does have some drawbacks.

Proprietary software lobbyists probably love 'federation', because it presents an opportunity to 'pick the weakest link' and focus all efforts there. When that weakest link has been fully exploited, then move onto the next weakest and so on.

In Europe 5 years ago it was UK who was drinking the 'proprietary software is your digital dna' koolaid, now it is France*.

Nicholas Sarkozy delivered a profound judgment on Microsoft yesterday, declaring that the company personifies the values of France and Europe.

Italy I will not comment on, as I have no real current feeling for how things are in that country. However I have included a search at the end of the article if interested.

Germany has, so far, not been viewed as the weakest link in that respect, and my hopes are, that will continue to be the case.

I look forward to the day when UK, France, Germany, have all developed a resistance to the lock-in, proprietary software seems insistent on bringing with every sale.
( Lock-in of the cloud is another battle ground, and the lines are already being drawn - link to announcement about new centre in Brussels at end of article )

Back to 'software freedom'. Novell is dead, so who next for the weakest link?
Pick a distribution and swill the name around, does it feel likely?

Could you honestly say, for that distribution, that they could never 'do a Novell'? and sign exclusivity agreements regarding patents and copyright, with a vendor opposed to 'software freedom'.

( Later attempting to transfer IP across to that same vendor, under the cover of some IP collective. )

What Federation would bring to Debian is a ticket in to 'The Weakest Link', and those who seek to weaken / destroy such things as a 'Social Contract', would use selected Debian partners to achieve those ends.

If you find my Europe analogy not to your liking, and think the Europe really isn't a battle ground for lobbyists, then you might instead ponder the question that ZDNet raised in response to the anti-trust news:
ZDNet UK has asked Microsoft why it made its maiden antitrust complaint in Europe, rather than the US, where both it and Google have their headquarters. The company did not respond to requests to provide comment on this matter.

Links and Further Reading:

The last link is to the GPL license (Version 3 is the current version). If you vendor does not support it, then dig deeper and explore which aspects in particular the vendor has an objection to.
( If they support a previous version then manually diff GPL2 and GPL3 and there you have a good indication of the vendors thoughts. )

This is your opportunity to get to know your vendor, and in particular know what software freedom aspects you might be expected to sacrifice by partnering with that organisation.

Here is an example. If you work for the Health Service and want a modern speedy desktop (64 bit), then having an old work application that only works on 32 bit windows presents you with a problem. Do you justify budget spend for another license? Wait we have a solution for just that sort of issue and it only costs $nn per seat.

An OS that truly conforms to the ideas of 'software freedom' makes no such restrictions.

Virtualisation issues have also been reported when trying to use the 'Clone' functionality to manage Server 2003 / 2008 installations. It seems the 'phone home' licensing check on startup, disables the networking in the clone.
( This sort of anti-feature could be an attempt to make it difficult to run Server 2003 in non-Microsoft virtualisation containers, or simply an oversight. Either way it is another example of how corporate use of virtualisation is made more difficult when non-free software is part of the mix. )

I am neither anti-France, nor pro-Germany, I simply hold opinions based on how the countries appear currently, with regard to 'software freedom'.
( When France gets a change of Government and stops drinking the koolaid, the next weakest link will probably then draw my criticism. )

    1 comment:

    Gary said...

    For Gnome, the package python-gi is supposed to go some way to aiding the use of python, in the sort of rapid application development hinted at in the article.

    These sort of enhancements have come too late for Ubuntu, which, in choosing to go the Wayland / Unity route, is untethering the UI from the close Gnome integration of the last 3 years.

    How mature is the pygi code, and in what version of python-gobject will it be considered stable?

    The pygi code is available today, to developers who customise their Debian install to include newer packages.

    The pygi code should be 'stable' and available in the next release of Debian (Wheezy) in 1st Quarter 2013.

    Developer Note: The pygi code is merged in Debian unstable version of python-gobject