If you've learned Java in the past 10 years, there's a good chance you've encountered BlueJ or its younger sibling, Greenfoot. Originally developed by Michael Kölling, BlueJ provides a simplified development environment for novices learning to program for the first time. It features a minimum of interface elements
(a dozen or so compared to the hundreds of buttons and menu items presented by environments like Eclipse), an "object bench" for students to interactively experiment with classes they have written, and an extensions framework that allows for third-party development of tools to support novices in their learning. As students progress, BlueJ also has built-in support for team projects (Subversion support is baked in) as well as a simplified unit test environment (based on JUnit) and an interactive debugger.
Over time, the BlueJ team has grown; for years, the team has spanned continents. In this interview, I talk with Ian Utting, a Senior Lecturer at the University of Kent, and a core member of the BlueJ team. For years, BlueJ was a closed-source project, and it was only recently that the source was opened up to the world. For some of you, this may seem foreign ("why would it ever be closed?!," you ask), and Ian shares with us why BlueJ was free but not libre, how the transition to openness took place, and where the project is now.