Sonntag, 21. Dezember 2008

Has Linux lost the ISV battle?

As long as anyone can remember, one of the big problems with Linux was the lack of commercial applications. Independent software vendors (ISVs) are generally faithful to Windows or OS X, so very little to commercial software available for Linux. The free software ideology aside, there are many commercial applications for Linux that might benefit from being able to execute.

As a cross-platform software developer, there are many when difficult issues are unique to the development of Linux. Firstly, there is the issue of binary compatibility.

In order to build a Linux x86 binary that runs on as many Linux desktop distributions as possible, as widely documented procedure is simple: create your question in the oldest distribution can be found. Most libraries of Linux are backward compatible, which means an application compilada against version works with the latest versions of the library. In theory, this seems a reasonable way to make Linux a universal binary. In practice, things are very different - Are you a link or dynamic link libraries and do? How exactly a do? E 'roll of this practical steps in its construction? Moreover, if the official documentation for this procedure? What are the best practices to produce a universal binary Linux x86?

Another problem is the distribution of software. As a developer of business software, how to distribute its software to as many customers as possible uns? You must create and RPMDEB packages, and probably some generic graphical installer package as well. In Windows, a single installer. EXE is installed in 2000, XP, Vista, etc. In the case of Linux, if you need to create tons of packages, or you must limit your customer base throughor the creation of packages for the most popular Linux distributions. Now that you have multiplied the amount of effort required to develop more than Linux.

In addition, fights uphill battle against the software so abrirurce. If you have a controersione Adobe Photoshop for Linux (and allowed to buy your site DEBS), most people still just install the GIMP for trSynaptic or birds of Ubuntu Add / Remove Programsdialog. Worse yet (for Adobe), GIMP is installed on every system Ubuntu by default. The best one can hope for is to offer Adobe DEBS through its website, and I hope that people have a priori knowledge of their products, and go to their website to buy it. There is no "APP Store" for Ubuntu, and perhaps particularly not esseredubbio because distributions are not making it easier to sell its software for Linux.

Many of these are hindering cUESTIONSand independent suppliers of software applications development for Linux could be alleviated by far better for the organization of Linux Foundation. When initially spoken of Linux Standard Base (LSB), I was excited at the prospect of finally Universal Binary for Linux x86, and perhaps even open the door for more commercial Linux aplicableciones, I thought. However, until now, I can count numberLSB the number of applications certified by one side. The mass adoptiontion Linux ISV has not happened, and I can not say that to blame them. If I were a developer of Windows, I do not know where to start. The Linux Foundation Start Guide includes a section on porting its application to the LSB, but applications for Linux, not for applications that already run on another platform.

If I were a developer to write a new buscandogimplementation on Linux, not misapete where to start. I use a GTK or QT? wxWidgets? What are the libraries of standard Linux? Where is all documented? There is no central repository documentation that guides developers of Linux and provides answers to this question. Windows developers have MSDN, developers of OS X Apple Developer Connection, developers of Linux have nothing but a bunch of websitesdispersed, any attempt to convince that the library is being a first for its use. This is not a productionttivo, and an organization like the Linux Foundation should make a serious effort to give developers the information they need to develop their applications quickly. You can not expect developers of Windows to know what libraries to use in search of answers on Google - has to be some centralized websitethat provides developers with the answers they need. To me, this shows a lack of leadership in the community Linux desktop.

In the kernel, is very clear who is responsible. There is a clear command structure, and this allows the kernel developers to work as an effective organization. In the user (for example, libraries and applications software) does not see the same command structure. We the creation of "rules" andbackup software for the Linux platform, but the software is hosted on it, says:

None of this is "sustained" from herelsiasi person or implied in the software, remember that is a forum for collaboration, so that no one is encouraged to host things here, if you are concerned.

What seems to have desktop Linux is a plethora of organizations acting independently (the establishment of libraries, etc.), without a clear cross-organizational leadership. managed to reach many of these organizations to collaborate and undoubtably has led to uNo improvement in the desktop Linux (see HAL and dbus), but do not seem to be preaching a clear vision of these organizations, nor provide any guidance for developing nuovirs who want to take advantage of new technologies has been promoted.

Many of my views presented here were marked by my experience writingproperty embedded software on Linux. I worked with engineers who had never written software for Linux, andor a difficult time responding to questions that have since Linux does not have something like MSDN. It 'very easy to make bad decisions about what libraries for use on Linux, because of the lack of documented centralizzatasu.

The nightmare of binary compatibility, lack of support from the Linux distributions, and the lack of centralized records and guidance for developers of Linux software make it difficult and costly platform for the sviluppo. This is a big slap on the shelf next to small applications, but when faced with serious problems that independent software vendors face when the development of desktop applications, Linux as a platform simply not worth the eff