Best Practices
November 23, 2004 9:46 pm GeneralJim Grisanzio pointed out this computerworld article, which details a reaction from Tiemann about Open Source Solaris. While I don’t really have any opinion on the Linux vs Solaris debate, one thing in particular stood out from the text –
Declining to speculate too much on what Sun might or might not do with Solaris, Tiemann said the company is doing a “great job” with its work on the open source Gnome project.
“We would like to see Sun [uphold] Gnome as a best practice and when it holds up Java it should recognize that compared with Gnome,” he said.
It’s a nice complement, and while I don’t think we’ve completely figured out how to contribute effectively to the GNOME project, there is a *huge* amount of learning that we can take away from our involvement. With software development, particularly in a corporate environment, it is quite hard to work out in the open – with increasing pressures from the marketplace which effectively determine schedules and deadlines, quite often, doing the right thing is damn hard. Working to synchronize that with a community 6 month schedule is even harder.
Being open and communicative about what you’re doing is the key…even if that means letting the cat out of the bag from time to time about what you’re doing.
I’ve been very worried about our activity within the GNOME project over the years that I’ve been involved, intensely aware that we need to sync up as much as possible with what the community is currently doing. We’ve been burned too many times in the past when we worked ‘in house’ and developed features away from the community. How many patches have we developed that have never seen the light of day upstream? How many engineer hours and lines of code have gone into those patches? How many days of frustration have we spent rewriting those patches so that they apply to a more recent community release? Having a competitive advantage is important – but balancing that out with getting key functionality upstream in the core is where its at.
We’re not there yet. There’s so many things we’re learning, and we [in the GNOME project] may never reach an ideal solution and often have to cut corners and make compromises that we really don’t like taking. I’d like to think, though, that all those experiences have not gone wasted, and that projects like Solaris and Java can benefit from them.