The Scala project is constantly evolving and expanding, and at times it is difficult for the Scala core team to follow all of the components of the distribution and its supporting tools. We are now looking for volunteers who can help with some Scala components that would benefit from external maintenance. If you think you can lend a hand and would like to help us out with the development of Scala, just raise your hand!
Components that are currently in need of maintaners include:
and possibly other components, as listed on our new external maintainers [1] page. Read below for more details.
An often-overlooked part of the Scala software is our packaging system. Apart from the main Scala distribution, many additional software components like libraries, glue code, and other utilities, are available using Sbaz [2], our current packaging system. Sbaz is a great tool, but it has not been maintained for quite a long time and its future is in question. We need a packaging mechanism that covers all of the software currently available [3] using Sbaz, and can carry us forward with future distributions.
We are therefore considering two alternatives, and we welcome suggestions from the Scala community about the path that we should follow:
In either case, we will list the names of the maintainers on our maintainers [1] page, so that there is always a contact person for each component. Please give us feedback about your preference between Sbaz and Maven, or any additional suggestions you may have.
In addition to the Sbaz/Maven packages, many people feel more at ease with installing a package that is consistent with the system used by their platform of choice: rpm, apt, maybe a native Windows installer, maybe an OSX dmg/installer, Fink/DarwinPorts, ebuild, and so enumerating. This is an effort that we cannot sustain internally, if just for the sheer number of possible platforms and software configurations. While there has been work done in this sense in the past, the packages tend to become rapidly outdated.
We would like now to coordinate those efforts by calling for volunteers to be active maintainers of these packages. Their role will be to make sure their packages work correctly on the corresponding platform, maintain updated installation instructions, make sure that updated packages are promptly released when a new distribution is released, and to respond to user feedback. We can provide a contact form on our website and a section on our Trac system to facilitate interaction with users, and of course we always have our mailing lists [4].
The Scala source distribution comes with a reasonably large testing suite, that we all use at every step of development to make sure that all our modifications to the libraries and tools do not introduce unexpected bugs by breaking one or more features, or failing to work in corner cases. Maintaining the test suite is a cumbersome task in itself, and we would all benefit if the current suite could be extended and improved. Contributions are also welcome in this area. Even though we have not finalized a process or guidelines with which new tests can be submitted yet, that is likely to happen in the near future. If you have ideas about tests that could exercise parts of the Scala features that are currently under-tested, or if you would like to look into the tests that are currently incomplete or broken, we would welcome your help. Please let us know what you would be willing to help us with, and we will list you as the active maintainer for that component.
Other Scala components may benefit from external assistance, and we will list them as needed on our external maintainers [1] page. If you feel you may be able to assist with any of those components, we will warmly welcome your help.
Links:
[1] http://www.scala-lang.org/node/292
[2] http://www.scala-lang.org/node/93
[3] http://scala-webapps.epfl.ch/sbaz/scala-dev
[4] http://www.scala-lang.org/node/199