Why i do open source

January 26th, 2009

The explosion of open-source phenomenon in the last decade has spanned hundreds of thousands of projects, millions of people and uncounted hours being poured into what some see as ideology, and some see as an integral part of building one’s career. Each participant in the open-source ranks has his own unique reasons for doing so, and mine can be simplified to only four words – the freedom to learn.

Nobody is perfect, and everybody makes mistakes. Harnessing the collective power of community participants with diverse background, experience and coding approach, together with not being afraid to make mistakes and learn from them is a unique aspect of open-source. We are extremely lucky to live in the nascent age of broadband Internet access which allows building truly global communities. All you need to do is to be truly open to two-way and completely transparent communication, to see that the criticism on your code is not a personal attack against you but rather a momentous chance to improve your coding skills, and to always be willing to learn from the best in your field of interest.

Even in the times when the opportunities to learn and grow are almost infinite, you can easily get stuck in your comfort zone. Recognize and nourish your inner curiosity, and constantly seek tangential knowledge that might not seem readily applicable to what you are currently doing. As the old saying goes, the more you know, the more you realize that you don’t know anything. It is going to be a self-feeding cycle of continuous improvement of your domain and general knowledge.

Finally, open-source offers a unique opportunity to exercise significant degree of control over your projects. With less stricter development processes, you can employ more freedom in moving your projects forward even when it comes at the expense of breaking backwards compatibility and making some of your users unhappy. Be truly committed to maintaining transparent communication channels and always ready to explain every single decision. A bad decision can always be reverted – and you will have plenty to learn in the process.  An unpopular yet right decision will stand the test of time and might prove a source of knowledge and inspiration to those that come after you.

Curiosity, community and control are my answer to the question why i do open source. Combined together, they provide a unique and ever changing blend of intellectual satisfaction from the ever expanding sea of knowledge that is waiting at your fingertips. Open your mind and be free to learn.


Andres and Alex – you are next. I would love to read about why are you doing open-source; and feel free to spread the meme :)

I am extremely pleased today to announce the availability of release candidate for version 4.0 of Flamingo component suite (code-named Fainnear). As detailed in the roadmap for this release, the goal was to provide the missing functionality from the Office 2007 Command Bar, and the journey that has started in September 2005 has arrived at its most important milestone so far.

I can finally say that the Flamingo ribbon can be used to create Swing ribbon-driven applications. While some of the minor functionality will have to be postponed to the next few releases, Fainnear provides all the major building blocks to create sophisticated ribbon content and wire it to the custom application logic. The release notes for version 4.0 contain the detailed information on the contents of this release which include:

To see the Flamingo ribbon component in action under core look-and-feels, run the following WebStart demo:

To see the Flamingo ribbon component in action under Substance look-and-feel, run the following WebStart demo:

If you want to test the ribbon in your applications, you would need the following (the last two only for applications running under Substance look-and-feel):

You are more than welcome to take Flamingo 4.0RC for a ride and report any problems in the project mailing lists, forums or issue tracker. The final release is scheduled for February 6. Only bugs will be fixed until that date.

Sample screenshots of Flamingo 4.0 in action:

I am extremely pleased today to announce the availability of release candidate for version 5.1 of Substance look-and-feel (code-named Panama). The release notes for version 5.1 contain the detailed information on the contents of this release, and the migration guide describes two application-facing binary incompatibilities introduced in button shaper and highlight painter APIs.

This release includes the following:

Click on the button below to launch a signed WebStart application that shows the available Substance features.

The following sub-projects are also available as release candidates:

You are more than welcome to take Substance 5.1RC for a ride and report any problems in the project mailing lists, forums or issue tracker. The final release is scheduled for February 6. Only bugs will be fixed until that date.

Sample screenshots of Substance 5.1 in action:

Supporting wide variety of font sizes in modern UI toolkits is a necessity. Toolkits such as Qt, Swing, JavaFX and more are targetting not only multiple desktop operating systems, but multiple devices spanning TV sets and mobile phones. They must take into consideration the significant span of device DPI settings, in addition to more niche areas such as point of sale applications and presentation demoes.

One of the main goals of Substance look-and-feel is to provide appealing visuals for Swing applications, and that includes honoring the current desktop configuration, including font and DPI settings. Even if at the present moment the vast majority of monitors support a rather narrow DPI band (from 72 to around 200 DPI), this still requires the UI toolkit to adapt the control visuals to have the same physical size across the different environments. In addition, point of sale applications pose more challenges as they are operated in a busy environment using manual (finger) interaction.

As such, Substance continues to pay close attention not only to the usual setups (ranging from Tahoma 11 in Windows XP to Lucida Grande 13 in OS X). Version 4.3 has made the first step towards ensuring that the core Swing controls are painted correctly under large font sizes (around 72 points), and version 5.1 provides support for even more controls.

The following screenshot shows a 72 point combobox with the mouse over the arrow button under Substance 5.0:

And here is the same combobox under Substance 5.1:

The top-right and bottom-right corners of the button are no longer out of sync, with the top-left and bottom-left corners having a perfect straight connection.

The next screenshot shows a 72 point progress bar under Substance 5.0:

And here is the same progress bar under Substance 5.1:

Here the border outline of the selected part has the correct stroke width, as well the right alignment with the inner gradient fill.

Finally, the next screenshot shows a 72 point slider with mouse over the thumb under Substance 5.0:

And here is the same slider under Substance 5.1:

The slider main ticks are no longer clipped on the left, the thumb downward mark is centered on the matching main tick, and the inner contour of the slider thumb is correctly centered.

This work will continue in the next releases to make sure that all core Swing controls look correctly under different font sizes, including very large values such as shown in this entry. In the meantime, you’re welcome to take the latest 5.1dev drop of core Substance (code-named Panama). Release candidate for Substance is scheduled for January 26 and the final release is scheduled for February 9.