Skip to content

Ideas For Contributions

dwdyer edited this page Sep 13, 2010 · 6 revisions

If you want to contribute code to the project, this page lists some ideas for contributions that would be likely to be well received.

Good Ideas

This is a list of things that would be nice to have but that aren’t in-progress right now:

  • Genetic Programming. Currently there is a proof-of-concept implementation of tree-based Genetic Programming in the examples module. You can either build on this or come up with something better to be added to the core framework.
  • Differential Evolution. Write a new EvolutionEngine that implements the Differential Evolution algorithm.
  • Support for Multi-objective evolutionary algorithms.
  • Support other distributed computing platforms. Mahout makes Watchmaker work on Hadoop and we kind-of support Terracotta. If you can get Watchmaker to take advantage of other distributed environments such as GridGain, please do.
  • More example programs. We have quite a few examples, but they don’t show off all aspects of the framework. Can you write a compelling, self-contained example evolutionary program?
  • Port the Swing module to SWT. This isn’t a high priority for the project so it’s unlikely to get done any time soon. But if you want to do it, go ahead. Provide SWT equivalents for each of the components in the Swing module, with particular attention on the EvolutionMonitor.
  • Other JVM Languages. Write a wiki page and/or example code demonstrating how to use Watchmaker from another JVM language such as Clojure, Scala or Groovy.

Bad Ideas

This is a list of things that would be a waste of time because they would be rejected:

  • Introduce a dependency on some huge library/framework for little or no benefit.
  • Convert the project to use Maven.