Skip to content

Commit

Permalink
Create CONTRIBUTING.md
Browse files Browse the repository at this point in the history
  • Loading branch information
shai-almog committed Jun 27, 2017
1 parent 4ea35c7 commit d494a57
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# 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](https://www.codenameone.com/discussion-forum.html) or asking a question on [stack overflow with the codenameone tag](http://stackoverflow.com/tags/codenameone). You can also contact us via the chat widget on the [main Codename One website](https://www.codenameone.com).

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](https://www.codenameone.com/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 appreciaed and will help future generations of developers!

The [Codename One developer guide](https://www.codenameone.com/manual/) is genenrated from [the wiki pages of this project](https://github.com/codenameone/CodenameOne/wiki/) you can just [edit the wiki directly](https://www.codenameone.com/blog/wiki-parparvm-performance-actionevent-type.html) and your changes propogate into 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 maintin 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](http://www.codenameone.com/blog/how-to-use-the-codename-one-sources.html). 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 propriatery licenses for commercial companies and we might want to change the general project license in the future to attract more developers.

0 comments on commit d494a57

Please sign in to comment.