These are the fundamentals about how the ArgoUML Project is run and also some fundamentals on Open Source. If you wonder how this could really work you should read some Open Source literature like "The Cathedral and the Bazaar" or some GNU or Linux statement.
Open Source
ArgoUML is an Open Source project. This means several things:
- We provide the software free of charge.
- We provide source code with the software.
- Users are encouraged not only to report problems but also to contribute solutions, improvements and new features. They have the source code available to make this easier.
No funding
The ArgoUML Project operates without funding. This means several things:
- We pay no salaries or rewards.
- Users are encouraged to become Developers of ArgoUML. This is the recruiting strategy.
- We rely on persons to contribute their work (big or small) to advance ArgoUML.
- Universities or companies have and can engage or employ persons to work on ArgoUML or adjoining ArgoUML but although very welcome it is neither controlled nor paid for by the ArgoUML project.
- We rely on organizations like Tigris to provide the central infrastructure needed without monetary compensation.
- We rely on other projects like Subversion, JDK, docbook, ant, ... to provide tools without monetary compensation.
- We rely on other projects like JRE, swing, log4j, GEF, ... to provide their libraries to be distributed by us without monetary compensation.
- We rely on every Developer of ArgoUML to provide the machines and Internet connections needed for their work without monetary compensation.
- We rely on organizations like Gentleware and individuals on the Internet to help in promoting ArgoUML without monetary compensation.
There are also problems to work without funding but the solutions we are using to these problems are well-established in the Open Source world and should come as no surprise. I have listed some of the problems and solutions here:
- We cannot provide support. Companies cannot buy access to a support organization from the ArgoUML project. Solution 1: We allow for the users to help each others and also to get help from the Developers of ArgoUML by providing a mailing list with FAQ. It is every user's and developer's choice if he wants to help and there is no guarantee. Usually this works very well. Solution 2: There exists on the market companies that provide this for Open Source tools. Hopefully they can eventually include ArgoUML. (Anyone already in place?)
- We cannot provide any guarantee or warranty for the product. Solution: The product is provided as is. If your use of ArgoUML sets your house on fire, you cannot blame us. This is stated clearly in the licensing.
- We cannot undertake to solve a certain problem or implement a specific feature to a specific date. Solution: If you need a certain problem fixed or feature implemented you are allowed to let one of your employees or contractors do the work. This can be done without prior consent from us and we hope that you will provide that solution or feature to us for the inclusion in upcoming versions of ArgoUML.
Users and developers
As with most of the not funded Open Source projects the primary incentive for our developers is their own personal need. This means that a problem is solved and a feature is added when one of the developers of ArgoUML finds it important enough to spend enough time on. In this there is no big difference between a Developer of ArgoUML and a User of ArgoUML. If a User finds a problem important enough to spend enough time on he can do so and send the solution to the project for inclusion into ArgoUML.
On the other hand, a Developer of ArgoUML that doesn't regularly use UML and ArgoUML will loose sight of what features are important and what are not. Eventually there will be nothing in ArgoUML that he finds important enough and he will then stop contributing to the project.
Because of this cycle the project needs to continuously find and engage new developers among the most interested users. To be able to do so we are continuously working on improving also the documentation and tools to allow for as many as possible to contribute. A small contribution might be followed by a bigger one and then an even bigger one like responsibility for some part of the code that is an important role in the project.
The developers' mailing list is open to everyone to discuss what you want to do to improve ArgoUML. For ideas you can also see the ArgoUML JobJar or the list of open issues in Issuezilla.
Other things about the project
If you have any questions, comments, or suggestions, join the developers' mailing list and start the discussion there.
If you are reporting a bug in ArgoUML, please use Issuezilla. Please check if the same bug has been seen before and if so, just add your additional observations to it.
You don't need to be a UML or Java expert to contribute. There are a lot of things to do for a wide range of skills.
The history of the ArgoUML Project is described on the history page.