How to contribute to qooxdoo

There are lots of ways for you to help with improving and promoting qooxdoo. Get involved and give back to the project. Open source projects like qooxdoo depend on community participation.

Documentation

Help with proof-reading, fixing or even extending the documentation. Now that the manual is also under source control, you can more easily modify larger portions of the manual. If it's simply a typo and you already have a GitHub Account go ahead and make a Pull Request or use the Edit Button when viewing .rst (reStructuredText) files on GitHub. You may also attach a regular patch (see "git format-patch") with a new bug report.

Bug Reports

Talking of bug reports: file any issues in bugzilla. Try to analyze an issue and be as precise as possible. Of course, you would search first for already existing reports. If you think it is a new defect, please don't cross-post on the mailing list.

Enhancement Requests

For sure, there are zillions of feature enhancements one could think of. Many are in bugzilla already, so check before opening a new request. If you want to help with implementing enhancements, same applies as with bug fixing.

Bug Fixes

Help with fixing bugs, particularly if you were the one that discovered the bug. Trying to fix bugs reported by others would also help to improve the framework. See the list of unassigned defects or unassigned enhancements. Make a claim by asking for assignment of an issue (making sure nobody is already working on it).

Code

Code can be contributed in varying sizes: As substantial patches or pull requests to the framework, as entire new classes, or libraries. To make it easy for particularly larger size efforts (e.g. additional widgets, libraries, frameworks on top of qooxdoo, etc.) we introduced qooxdoo-contrib, which is treated as sub-project, and with more liberties than the core project. See all the details on its own home page.

Particularly when contributing to the framework itself, please make sure you understand the license of qooxdoo and the rights and obligations that come with it. One important aspect of this is that all source code contributions that are to be included in qooxdoo must also be governed by the terms of the qooxdoo license. Contributions in qooxdoo-contrib should either be put under the same dual-license as the framework itself or a compatible (usually even more liberal) license.

Translations

The qooxdoo framework and some of its demo applications are available in several languages. If your preferred language is missing, become a translator. As with any contribution, we not only ask for some initial input, but that you actually maintain your translation for a reasonably long period of time.

Tutorials

The framework comes with so many powerful features, tutorials very often help users to get started easier than just by digging through much documentation or some API reference. Also consider to write tutorials in other languages than English, possibly translating existing tutorials. Besides the framework also some contribs could deserve some tutorials.

qooxdoo-contrib

Add and maintain high-quality projects in qooxdoo-contrib. This is your primary target for contributing code and new features to the framework. Any typical frontend contrib like a new widget can also easily be showcased in the contrib demobrowser.

Sponsorship

Become a sponsor in that you would offer to pay other community members to implement new features. Of course, it would be great you made them available as open source (e.g. as a project in qooxdoo-contrib with proper attribution). The core team is not available for sponsored development work.

Additional Themes

This is a special kind of contribution, which typically receives a lot of attention. If you know how to use your graphics tools, creating a custom theme for qooxdoo isn't really hard. As isn't to integrate it into qooxdoo-contrib.

Mailing List

Try to answer other users' questions on the mailing list. This could help reducing the effort of the core team considerably, especially for addressing newbie questions or questions that have well-known answers.

Stack Overflow

Same as with the mailing list. There is also a "qooxdoo" tag on Stack Overflow to filter qooxdoo related questions.

Monitoring

Let us know about opportunities to further promote the qooxdoo framework. Often this is country-specific, so your local insight may be crucial in identifying opportunities and working them out together.

Feedback

If new things show up that you like (maybe even don't like), feel free to comment. It is not encouraging to contributors or to the core developers if there is zero (positive) reaction when announcing new or improved features. This could also leave a bad impression to new potential users looking into qooxdoo.

Real-life Examples

You have created a qooxdoo app? Excellent! Tell the world, don't make it a secret. Add an abstract to the wiki page of real-life examples, accompanied by a screenshot. Of course, don't forget to add a link if it is a public app. Drop us a note, we'd be happy to announce it with the next weekly blog post.

Badges

Display a "powered by qooxdoo" badge with your online application, and/or mention qooxdoo in the your framework's documentation or your app's "about" dialog.

Tell the world

We encourage users to write about their qooxdoo usage and to post their own code examples on their websites and blogs. If you are into twitter, use it to tweet and retweet about qooxdoo related stuff in real-time.

Social Networks

Become a member of an existing qooxdoo group (LinkedIn, etc.). While you shouldn't expect much activity there (most communication is done via the qoxodoo mailing list), you can demonstrate your qooxdoo know-how. Also feel free to add qooxdoo to your interests or skills of your personal profile.

Articles

There could be more articles about the qooxdoo framework, but also about your projects successfully implemented with qooxdoo. Whatever you think could be realized by you as an author, let us know so that we can figure that out together and support you.

Comment

If you come across some JS related discussion on the net (like some post on a blog or in a newsgroup), that you think could really benefit from a pointer to qooxdoo, please comment accordingly. Warning: Don't be religious about qooxdoo and don't try to evangelize. Be positive about qooxdoo, but please don't overdo.

Meetups

Try to connect with other qooxdoo or JS developers in your area through meetups. Organize a new or join an existing local user group. Same applies here: Don't be religious about qooxdoo and don't try to evangelize too much.

Networking

Spread the word about qooxdoo to other web professionals, business partners or friends. Your positive real-life experience with a technology like qooxdoo certainly helps to get others interested in it as well.

Speaking Opportunities

Besides any local JavaScript user groups, you might also consider to become a speaker at a conference, barcamp, in-house event, etc. Maybe we could help with providing material for you to setup an interesting presentation. Don't forget to make your slides available online, e.g. on SlideShare.

Job Opportunities

If you are looking for qooxdoo application developers, feel free to add an entry to the wiki page that serves as a central hub for job offers. Also, if you are interested in such jobs, check the page for offers, or add your service offers to it.

Service Offers

If you are a company or a self-employed freelancer, offer your services as experts for qooxdoo application development. There is a wiki page that serves as a central hub for offering your services.