Skip to main content

What's in a name(space)? That which we call a rose...

Posted by fabriziogiudici on September 7, 2009 at 11:10 AM PDT

Well, religious beliefs apart, I'm not a man of immutable mind. Indeed I believe that you *have to* change your mind when a proof demonstrates that there's something wrong with an idea (hey, I'm not saying that it's *easy* to make me change my mind, but this is another story...).

But I didn't have any reason to change my mind about how a Java namespace should be created - and this is by far the most ancient Java belief I have, since namespaces were the first thing I learned about Java in 1995/1996.

So, if you look at my open source code, everything starts with it.tidalwave.* (which the exception of org.jdesktop.beansbinding that I inherited) - this is because Tidalwave is my container, my home on the Web. In many cases, I've also taken care of decoupling the name of a project from its namespace; for instance, jrawio is it.tidalwave.imageio.*, and Mistral is it.tidalwave.image.*. In this way I can always change the name of a project (e.g. because of marketing, or because it turns out somebody owns a trademark on one of my names) without breaking compatibility with the code.

Still, it appears it's not enough - the choice about jrawio namespace has been questioned a few days ago on the dev mailing list:

What if you sell tidalwave? The FLOSS licensing guarantees the openness, but the product name then will become absurd.

What if you discontinue tidalwave?

It's the same silly story with GlazedLists, where all of glazedlist[s].[org|com] are available - but they choose to use a name of a supersmall company whose primary business is selling guns and ammo - because that was where it got its initial funding when the primary author was some kid in highschool. (odell.ca)

I must confess I've never thought of it. Tidalwave is my own, one-man company, basically it's a “fiscal wrapper” (or façade? ;-) around my professional activities - no partners, no stocks, and chances are that it will stay as is for the rest of my life. But this certainty, which has some basis from my personal perspective, doesn't necessarily appear so sound for everybody.

After an immediate reaction of dismissal, I think it over and concluded that the issue does exist. So, you'll soon see some changes in jrawio namespaces (and probably the web site too). A final decision is still to be taken, but org.rawdarkroom.imageio will see the light (as well as a jrawio.rawdarkroom.org web site) - it happens that I already own rawdarkroom.org, even though it was created for slightly different reasons. Since changing a namespace calls for a major version, I'm going to reschedule my plan for jrawio - it will be announced on the jrawio blog when ready. Since this will more or less coincide with the release of the first public parts of the jrawio API, the whole package structure is being redesigned.

PS There's an interesting morale in this history: sometimes things change with a slow pace, and you don't realize immediately the consequences.

Indeed, I registered the tidalwave.it domain when I was still the co-owner of another company. It was my personal web container, devoted to my extra-work activities (mainly photography). A couple of years later, I quit and started working as a freelance. I felt I needed a personal, professional web site, and spent a couple of hours searching for an available *.it domain - but all the fashionable keywords that came to my mind were already sold. In the end, I decided to reuse tidalwave.it for my professional stuff (and moved the photos out to timelesswanderings.net and later to stoppingdown.net).

Still, at that time, Tidalwave wasn't a registered company. I started it up only a few years later, for fiscal reasons. Now, the domain started to be effectively bound to a company, and it's reasonable to guess that the future of the company is bound to the domain too. Things weren't like this at the beginning, and I didn't realize the evolution.

Curiously, when I teach people how to manage a project, I repeat so many times that what it is considered stable and reasonable in a moment of time it won't necessarily stay put forever. Just forgot to apply the rule to myself.

Related Topics >>

Comments

pointless questions

Well, as soon you continue committed with open-source and technical learning, the namespace really doesn't matter.. and to keep linking the classes to your host domain seems fine...

remember that: "commitment" .. it is all about code right ?

if you change your code to enhance your code quality or to enhance the chance other people to benefit from it, congrats.. that's the right choice.. but if you think in changing it just to satisfy other people beliefs or questions, without any code improvement, what is the point on that action? to be "correct" .. or "third oppinions compliant" ? blargh :) it really doesn't matter :) IMHO

For several years people question our JUG about Java, Java life-cycle and a possible end of Java.. why not to include other technologies, to change our name, our logo.. to change everything preparing to an eventual Armageddon ? Blargh II :) no, no, no.. we don't change for doubt and fear, we change for better.. and if Jav adies some day, our JUG goes together.. and a new baby will born then with all the changes the non-believers wants.. not before that :) .. just to exemplify..