Getting involved with the Corpus Workbench
Help wanted!
CWB is a spare-time project for all involved, not only but not least the lead developers. We are always open to anyone who would like to volunteer to help out with work to improve and extend the software. If you're a programmer with an interest in contributing, you can either just dive in, or have a look at our suggestions on where newcomers to the code might opt to get started.
But running the CWB project involves multiple tasks other than the actual programming work. If you are interested in helping out the project, but are not a programmer, we still need your assistance with things such as: documentation, beginner's guides, testing and bug-reporting, work on the Web site, making release bundles, and so on. A list of these kinds of ways to contribute is included below.
Benefits of joining in to help CWB: Copious thanks. Bragging rights. Your name on the list of contributors to the CWB project. A warm glowy feeling inside. In sum, the benefits are pretty much the same as you'd get from contributing to any open source or free software project...
To get involved, either as programmer or non-programmer, your very first step is to join the CWB mailing list, where all development efforts are discussed and coordinated.
Thanks!
How programmers can contribute
Actually jumping in to work on the main code is not easy: these are large, complex systems whose shape is as much a function of their history as it is of rational design. To begin contributing as a newcomer, you might consider contributing to those components of the system which can be programmed without knowing how the system as a whole works. These include:
- Clients for CWB/CQPweb (e.g. the CQPweb API), general purpose or specialised.
- Plugins for CQPweb for corpus building, annotation, analysis, CEQL grammar extensions, etc.
- Extensions to the Perl packages (e.g. improvements to the recently-added TMX alignment data importer).
- CQPweb's interface layers for non-PHP scripting languages (Perl, Python, R...)
- CQPweb "apps" (a new extensibility mechanism for use on the server side)
- JavaScript functions for use as "extra" JS in concordance/context views.
Anyone thinking of contributing to these areas of the project code is of course very welcome to talk it over with us first.
Also relevant: information on repository check-outs and how to send in a patch.
Other ways to get involved
The tasks listed below are currently undertaken by the lead developers (Stephanie and Andrew). If non-developer volunteers were able to take (some of) them over, Stephanie and Andrew would have more time for the programming parts.
If you think you might be willing to take on any of these jobs - please contact us via the email list. Note that we don't expect anyone to take on these roles for an indefinite period: everyone can quit at whatever point they decide.
When the computer goes wrong, can you explain clearly how that happened and how you got to that point?
If so you may make a good spotter of bugs. Any large multi-platform software project quickly surpasses its developers' efforts to identify all the problems on their own. CWB is no exception.
All reports of problems are very gratefully accepted. CWB always benefits from more bugs being found so we can squash them.
If you think you can help in this regard, then this is how to do it:
- Join the mailing list by going to this link
- Download and install CWB as explained below.
- Make use of the CWB in exactly the way you normally would – trying out all the functions you use regularly – and send a notice to the list whenever you encounter a problem.
(Or, if you prefer, go straight to our bug tracker. Either works for us!)
Do you know a bit of HTML?
- Is anyone interested in being the CWB webmaster?
- Duties: keeping this site updated more regularly than has been traditionally the case.
This site uses the GOPHER framework for all layout, decoration, etc.; actually writing for or editing this site therefore requires use of super-basic HTML tags only (p, h1, h2, h3, a, strong, em, ul, ol, li, code and very little else).
Can you write LaTeX?
- The three main manuals (Encoding Manual, CQP Manual, and CQPweb Admin Manual) are all written in LaTeX which compiles to PDF and HTML.
- All three have "holes" - things that are not quite finished (especially the CQPweb manual).
- If you are able to contribute to the writing of these manuals - or even just to use your TeX skills to edit text dumps into nice marked up content - that would be most welcome.
Do you know how to work with SourceForge's project system?
There are many tasks involved in keeping the SF project up to date, outside the programming. Any help on these fronts is welcome.
- Exporting snapshots from SVN and creating code tarballs.
- Building release binaries and package-management nundles of the CWB Core.
- Uploading the above as files-for-release.
Are you familiar with VirtualBox and installing / managing Linux on virtual machines?
- CQPwebInABox is popular but years out of date, due to lack of time to devote to it.
- Anyone want to become the boss of CQPwebInABox? Involves: keeping a single-purpose VM with CQPweb installed; intermittently updating all the CWB components and CQPweb on that VM; taking image snapshots and uploading them as new CQPwebInABox versions once every few months.
- Stephanie has long been keen to add a second strand of VM images, CQPwebOutOfTheBox, which would add many useful additional tools for the more technical user to the preprepared image. Realistically this will not happen without a new recruit to oversee the undertaking.
Are you good at keeping things organised?
- We would be extremely grateful if anyone could contribute to bug triage on the CWB mailing list and/or on the Issue tracker.
- What does "bug triage" involve? Making an inital response to a bug report to collect full info; working out whose job it is to fix it; working out how urgent it is; keeping this information organised on the tracker.
Do you know your way round online video?
- Andrew currently runs CWB's YouTube channel, but would be happy to hand it off.
- We also hope to have a mirror channel on a mainland-China video platform, e.g. Youku so users with no access to YouTube can still access video tutorials, especially in CQPweb. Realistically, the team presently does not have bandwidth for this, and it won't happen without a new volunteer - ideally a Chinese speaker.
Are you knowledgeable in user interface design?
- CQPweb's UI is not really designed so much as piled together (especially the bits that don't copy something in BNCweb).
- Anyone with UI design experience who is keen to provide input on CQPweb's UI (e.g. in the form of mocked-up layout designs; no actual coding needed) is strongly encouraged to join in!
Are you a social media afficionado?
- CWB probably ought to have a Twitter account.
- If you are a happy CWB/CQPweb user, and being CWB's twitterer-in-chief is appealing to you (it is not remotely appealing to Andrew or Stephanie) then please get in touch.
Are you artistic?
- CQPweb always needs new colour schemes. Andrew's aesthetic instincts are rubbish. Save him from himself.