Skip to content

Latest commit

 

History

History
35 lines (18 loc) · 3.45 KB

CONTRIBUTING.md

File metadata and controls

35 lines (18 loc) · 3.45 KB

Conbributing

Contributing

Thank you for your interest in Codename One! We have always been community driven and contibuting a pull request is the highest form of that.

Discussion

Before you start working on something we would suggest talking to us in the discussion forum or asking a question on stack overflow with the codenameone tag. You can also contact us via the chat widget on the main Codename One website.

There are a lot of nuances and pitfalls when making a change or even with submitting an issue and it's worthwhile to ask first so the issue is clear.

Since Codename One is such a large project with so many different pieces contributing to each one of these pieces is a radically different process which is why discussion with the community is helpful.

Filing Issues

Once we have a sense of what needs doing we suggest filing an issue so we can track the process. Filing an issue is a contibution in its own right. When you write clear concise issues with good test cases & screenshots we can assign them to a specific milestone and move the product forward more easily.

Documenting

This is probably one of the most important things you can do as a contributor and probably one of the easiest things you can do. There are two big pieces of documentation you can edit right here on github!

The first is the JavaDoc which you can edit directly in the source code, if there is an ommission or a mistake you can just press the edit button on the file and make the change directly even without an IDE. These pull requests are highly appreciated and will help future generations of developers!

The Codename One developer guide is generated from the wiki pages of this project. You can just edit the wiki directly, and your changes will reflect in the developers guide. Don't forget to edit the authors section and add some credit!

The wiki uses the asciidoc format to generate HTML & PDF versions. There are plenty of guides on the internet to asciidoc but the syntax is pretty simple. Please try to maintain the convention for the guide as we automate many pieces in the guide generation and conversion.

Working with the Source

We have a blog post that covers forking, running the simulator and submitting a pull request here. We have recently transitioned to Maven as our build tool. There are instructions on building from source using Maven here. While it's pretty exhaustive it doesn't cover more esoteric features like ParparVM or the iKVM fork. For those our only reference is the source.

Ownership

By contributing code you are granting Codename One shared ownership of your work. You still own it but Codename One will have the right to relicense your work based on our needs & treat this work as if it was developed by a Codename One engineer. This is important as we might need to provide proprietary licenses for commercial companies and we might want to change the general project license in the future to attract more developers.