I use Eclipse and NetBeans almost every day. I use Ant, JUnit, jMock, Hibernate, Spring and half the Jakarta Commons library almost every day as well. I also use open source databases, web frameworks, and languages. What I don’t use though are open source modeling tools. This is because there aren’t any.
Where are the open source UML(Unified Modeling Language) and ER modeling tools? And why are no developers or organizations creating them? For me, the lack of existence of these tools can only lead to one conclusion: the open source community simply does not do any modeling before, during or after developing an application. The reverse of this statement is that only enterprisey companies do modeling. I am not sure if I buy into this conclusion.
Personally, I like to, before I start coding, to model the domain for my application. This gives me a better understanding of the relationships that exist between things in the real world and gives me to good starting point for building my domain object model. Modeling tools really help for this. I guess the open source community just uses the “back of the napkin” approach, literally. But napkins are hard to share with a distributed group of developers. Therefore, people must be using some tools. Where are they and what are they?
I think this is evidence one a problem with the open source community; only the tools that people use on a day to day basis get built. This ends up leaving holes in tool support. I can use an exceptional Java IDE(Integrated Development Environment) every day for free, but I have to go and pay hundreds to thousands of dollars to do database modeling because open source developers don’t do database modeling.
I realize that right about now the entire open source community is shouting in unison, “fix it!” And I would if I could, but the reality is that I am not sure that I can single handedly create an ER modeling tool. True, I would learn along the way, but Eclipse, NetBeans, JBoss, PostgreSQL, MySQL, and other tools were not created by single people, they were created by organizations. So where are the organizations creating modeling tools?
I also realize that there is “ArgoUML”:http://argouml.tigris.org/ and “DBDesigner4″:http://fabforce.net/dbdesigner4/ which are both modeling tools, UML and ER respectively. However, the last time I used ArgoUML is was almost unusable and DBDesigner4 does not work on a Mac.