14 July 2010
We are announcing today the first release of the Gephi Toolkit. The Toolkit project packages essential modules (Graph, Layout, Filters, IO…) in a standard Java library, which any Java project can use for getting things done. The toolkit is just a single JAR that anyone could reuse in a Java program and script Gephi features.
The toolkit is the counterpart of the desktop application. Gephi’s user interface aims to be simple, intuitive and without command-line or scripting needed. The toolkit is made for people who want to:
- Script, automate features & reproduce the same procedure over and over
- Reuse Gephi features and algorithms in other projects and softwares
- Develop all types of mashups or web-services that deals with networks
A lot of new content is coming with the release of the Toolkit. A new portal appeared on the wiki, with documentation. Above all we provide demos and examples and a tutorial for newcomers. The cool thing is that it is very easy to use and this is all compatible with Gephi plugins. What is done for Gephi desktop can be reused in the toolkit.
Gephi is designed in a modular way and splitted into different modules. All features are wrapped into separated modules, for instance a module for the graph structure, a module for the layout algorithms and so on. Moreover business modules are separated from user interfaces modules. That allows to keep only business modules and remove UI without any problems. That is the purpose of the toolkit, which wraps only core modules and removes all the UI layer. So the toolkit is just taking what already exists in Gephi and packages it.
That is all thanks to the power of Java and Netbeans Platform. The way modular development is encouraged and the ability to manually extract modules from the Netbeans Platform is all thanks to the way they designed the architecture and use standards like ‘ant’ and plain Java. It’s a good occasion to say Kudos to them!
With the release of the toolkit, we are also moving to the AGPL license, as announced earlier. The GNU Affero General Public License is a modified version of the ordinary GNU GPL version 3. It has one added requirement: if you run the program on a server and let other users communicate with it there, your server must also allow them to download the source code corresponding to the program that it’s running. If what’s running there is your modified version of the program, the server’s users must get the source code as you modified it.