Tuesday 26 August 2008

Open Source Software Turned Industrial but Perceived Quality Don’t Change

pen source development tools like MySQL, Eclipse, PHP or JBoss are now adopted by many software development organizations. Our last poll examined how the quality of open source tools is perceived against their commercial competitors. We conducted a similar poll twice in the past and it is interesting to compare the results.

Open source versus commercial tools quality
Same quality: 31%
There is no easy answer to this question: 25%
Superior in quality: 21%
Inferior in quality: 12%
I do not use open source tools: 6%
I do not use commercial tools: 3%

Participants: 913

Source: Methods & Tools

We can see that the results have not changed significantly compared to the previous polls. Even if the number of participants thinking that quality is similar has decreased slightly, a majority still judges that open source software development tools is as good or better than commercial products.

Open source is now mostly an industrial activity

The difficulty to answer can be explained by the increase of the diversity of management type for open source projects. We have seen a noticeable growth of the industrialization of major projects. This has been realized by different means: acquisition of open source companies (MySQL by Sun), industrially backed foundations (Eclipse, Apache) or funding by venture capital (SpringSource, Zend). Commercial involvement has also been noticeable in providing support to open source with hosted communities or forges (codeplex.com, code.google.com). Initiatives like the Google summer of code (code.google.com/soc/) provide also new resources to open source projects.

Money is certainly not a guarantee for higher quality, but it allows open source projects to have better development conditions. They can also do more promotion that normally increase their user base and therefore the available feedback that should feed product improvement. We are also at a time where the “natural selection” process has reduced the number of active projects in mature areas. Looking at the projects hosted by sourceforge.net or tigris.org, you can see that many tools have not evolved recently. I don’t see a lot of new initiatives to build open source web servers or databases. In other areas, like testing, new projects are more trying to build on existing solutions or porting them to a new language.

Second generation open source projects

Some open source sectors, like the web user interface, are however still trying to reach the same maturity level than IDE or databases. Many benefit from the experience of the first-generation projects. Companies to exploit the commercial side of open source are created from the start of the project. They attract venture capital and are managed by experienced open source executives, like Appcelerator that attracted a lot of former JBoss core team members. This trend in turn influences commercial players, as it can be seen with the initiative from Adobe to put its Flex code in the open source domain with the release of Flex 3. The initial assumption that open source software was created by a group of individuals working on their spare time outside a commercial structure is now less and less true today, especially for the main tools used by developers.

Monday 18 August 2008

Ajax In Practice

This book by Dave Crane, Bear Bibeault and Jord Sonneveld aims to be of a second-generation Ajax book. It should go beyond just explaining the technology and explore in details the different client-side Ajax technologies and show what you can do with them. The target audience is a developer that has already a background of developing web applications and a basic knowledge of JavaScript. I can say that the book achieves its goals and provides practical concepts and code excerpts that can be readily used. For every topic that is discussed in the book, there is a detailed code example that shows how to use it in practice. I like also the fact that the specific goal of important lines are put in evidence in the code examples.

The book is divided in two parts. The first part contains four chapters that present the basic concepts of Ajax. After an introduction, it discusses the various communications techniques like Json or XML. A chapter is then dedicated to object-oriented JavaScript, that the authors present as a must to build scalable Ajax code. Finally, the book takes a closer look at the different JavaScript libraries (Prototype, Dojo and JQuery) used for Ajax applications.

The second part presents the various practices that could be used in client-side programming and are related to Ajax, either directly or indirectly: events, data entry and validation, navigation, drag-and-drop, usability, state management. Each topic is clearly explained in a dedicated chapter. A chapter is also dedicated to integrating outside API like Yahoo! or Google maps. A last chapter is dedicated to a sample mash-up application.

Source code and sample chapters for this book can be find on http://www.manning.com/crane2/

Get more details on this book or buy it on amazon.com

Get more details on this book or buy it on amazon.co.uk