Tuesday Sep 22, 2009

More on Derby

Kristian Waagan and Rick Hillegas, both Derby committers and members of Sun's Java DB team, have given a couple of recent presentations to an international conference and a San Francisco Java users group. These are now available on YouTube, as Francois Orsini, another member of Sun's Java DB team, notes in his blog

Thursday Jun 18, 2009

Among the favorites

One of my favorite JIRAs on Apache is #Derby-646.

Friday May 01, 2009


Now, a new release of Apache/Derby is out.

Francois Orsini has a more detailed note on this. It is great to see that many of the features listed are developed by our small but amazing team of Java DB engineers.

(See my previous post about this cauldron where Java DB is forged!)

Thursday Apr 30, 2009

Derby, the Cauldron and Java DB

Apache Derby project is the cauldron where Sun starts the forging of Java DB, Sun's distribution of Derby and the premier Java database in the world!

Most recently, Knut Anders Hatlen, Java DB engineering and committer to the Apache Derby project, has been writing about the new features being shipped in Java DB 10.5.

It is important to know that Java DB is a project 3 years in the making, and we're now witnessing people interested in installing this database in hundreds of instances, in the middle tier of their applications. Java DB is particularly unique because it can easily be embedded with a Java application in a JVM. (Anyone who has studied Java somewhat closely should already be completely familiar with this fact.) 

You can review the derby-users list on Apache to discover the level of sophistication in the user community, or go to the derby-dev list on Apache to discover and contribute to recent ideas and development with Derby replication.

In one of his many Derby 10.5 preview blog entries, Knut describes the use of generated columns, and follows up on their usability in a particular example involving case-insensitive search.


Thursday Feb 05, 2009

Golden Rules for Contribution-based Communities

There are some basic, golden rules when it comes to having a vibrant community of contributors.

The following are rules I have extracted and learned based on my experience managing and working with engineers actively involved and participating in the Apache/Derby, PostgreSQL and MySQL open-source communities. These rules are also based on extensive discussions with many folks involved with the MySQL community, with the PostgreSQL community and with the Apache/Derby (Java DB) community, over many years.

Before I go through these rules, I would like to thank Marten Mickos for having suggested some of the headings for these rules. (I originally had much longer headings for all of them.) I would also like to thank many of MySQL, PostgreSQL and Java DB colleagues, as well as to many other colleagues involved in open-source development, for having contributed to the ideas and practices behind these rules.

A) Transparency.
1.Often, this openness can span all the way from development (architectural specification, implementation design and planning, implementation, code review and walk-through) to testing, qualification and release.
2.It may be possible to move towards greater transparency over time but openness in development is often the minimum starting point. 

B) Dialog.
1.It should be possible to conduct open dialog and conversation regarding any aspect of the development (and other aspects of) work.
2.When mailing lists and other archive-able communication channels (such as wikis) focused on development work are opened up, it becomes easier to conduct open dialog and conversation regarding the development work. 
3.Of course, when a corporation or business concern contributes (either as a major contributor or a minor contributor) to the development of an open-source product, it is to be expected that some aspects of the development work (e.g. those related to specific customer needs) may remain obscure through mechanisms such as withholding of a customer's name. 

C) Pace.
1.It should be possible to track the fate of any contribution and have a public archive of the conversation conducted regarding that contribution—recording decisions made and various feedback loops in time for the purposes of learning and further work.
2.For this purpose, it is often sufficient to have a time record of the conversation conducted with respect to the given contribution.
3.These records can be searched to determine the fate of the contribution.
4.These records help provide a learning platform for the future contributors.

D) Setting Expectations.
1.Using available and open information, the contributor community should be able to form and entertain valid expectations regarding milestones, releases, timelines, etc.
2.Anticipating the future and related risk management helps all market participants to reduce transaction costs.

E) Small is Beautiful.
1.While it should be possible to absorb contribution of any size, emphasis should be put on  absorbing smaller and incremental contributions.
2.To create mass and momentum and community and quality, it helps to encourage smaller contributions.

F) Differences.
1.Not all contributions are equal.
Contributions are judged by whether they are well designed, fit into business roadmaps, are well documented, comply with standards, do not produce regressions in the code and improve performance.
2.Not all contributors are equal.
Contributors vary in expertise, skill and experience.
These variations give meaning to the practices and procedures of the contributor community.

G) Places.
1.It is clear where one needs to work.
There are enough branches or trees to serve distinctly different target groups.
2.Trees and branches are well-groomed.
Active code branches or trees are kept at a minimum set in order to keep the product roadmap and expectations coherent.

H) Parallelism.
1.Contributions are added in parallel with frequent synchronization so that community participants can respond to each others' work.Parallel work leads—naturally and out of brute necessity—to modularization, better and faster integration.

I) Incrementalism.
1.Work is conducted in increments.
2.Each contribution does one thing.
3.Each contribution has a test case that exercises it.

J) Learning.
1.Contributor community assets (channels of communications, forums, bug databases, etc.) are developed to improve learning by all participants and contributors.


I'd like to thank Brian Aker, Knut Anders Hatlen, Davi Arnaut, Kaj Arnö, Jorgen Austvik, Igor Babaev, Mark Callaghan, Peter Eisentraut, Sergei Golubchik, Shawn Green, Lenz Grimmer, Rick Hillegas, Stefan Hinz, Geir Hoydalsvik, Henrik Ingo, Alexey Kopytov, Mark Leith, Dmitry Lenev, Manyi Lu, Giuseppe Maxia, Paul McCullagh, Mårten Mickos, Chad Miller, Francois Orsini, Konstantin Osipov, Trudy Pelzer, Sergey Petrunia, Jay Pipes, Jeffrey Pugh, Ole Solberg, Georg Richter, Mikael Ronström, Kristian Waagan, Dag Wanvik, Monty Widenius, Jeff Wiss, and more.

Thursday Feb 07, 2008

Three Open Source Databases in Solaris SXDE 1/08


These three open-source databases, now in OpenSolaris SXDE 1/08, offer all the needed features for most of the applications out there.

"Three databases to run them all"...

... and of course, Sun offers solutions with commercial database vendors, like the Sun and Oracle's Enterprise Grid Solutions.

SXDE 1/08 is Released!


Sun Microsystems has released Solaris Express Developer Edition 1/08, Sun's free OpenSolaris-based distribution targeted at developers.

This release brings together integrated web stack (Apache, MySQL, Ruby, Php, PostgreSQL), NetBeans 6.0, interoperability with Microsoft's CIFS protocol, support for virtual machines via Sun xVM hypervisor, based on  technology developed by the Xen community, Sun HPC ClusterTools based on the Open MPI effort.

There are three ways to acquire Solaris Express Developer Edition 1/08: (1) Free download; (2) Have a free DVD mailed to you (at no cost); (3) Download a VMware SXDE 1/08 virtual machine.

Thursday Nov 29, 2007

Where was I?

While I was away for meetings at Sun Microsystems's India Engineering Center, Eileen Alan of SDN channel posted a recent conversation I had with Kuldip Oberoi about Java DB and Apache Derby. I think Kuldip and I touched on a number of important topics about the technology, the business and Sun's general strategy behind Sun's Java DB work, and it is certainly very exciting to see the uptake by the user and developer community. It would be even more exciting as we see Java DB used for more and more database courses. I know Sun's Java DB (Apache / Derby) engineers are coming up with some very cool features and applications, too ... For a glimpse of what might be coming up, take a look at Rick Hillegas' "Saucer Separation" presentation given at ApacheCon (Atlanta, Nov. 2007) ... You might also want to check out the upcoming JavaME conference (Santa Clara, Jan. 2008) and check out JavaPolis (Anwerp, Dec. 2007), where there may be up to 4 Java DB related talks, Francois Orsini tells me. So, stay tuned, and, in the meantime, don't forget to check out Orsini's blog!

Wednesday Jan 31, 2007

All The Uses

All the current uses of Apache / Derby  are truly astounding in the variety of applications. Those who have not had a chance to take a serious look are missing out. Sun Microsystems Inc. distributes Derby as Java DB, independently and with the JDK, beginning with JDK 6.

Thursday Dec 21, 2006

Statistics on Open Source Projects

Now, we have places to go to for open source project statistics.

For example, see the Ohloh statistics for Apache / Derby.




« April 2014