It would be sad if the Cozy project would be manageable only by our core team. What is the point for us to build Cozy if you can't install it by your own? What's the matter if you can't audit the code to know what it does? Worst why would we do that if you can't shape Cozy to fit your own needs? A Free and Open Source project is nothing without its community. Making our users autonomous and able to ask for assistance in any situation is our goal. That's why we want to show you four good ways to contribute to Cozy.
1. Sharing Your Feedback
Giving your feedback about Cozy is good. What is even better is to share it with the whole community by posting on the forum. You will meet there the people from the Beta program and the ones who install Cozy on their own hardware. You will be able to know if others share your idea or can solve your problem. Or you can simply solve other problems. Helping others is always rewarded with good karma. So don't be shy and engage with the Cozy community!
NB: You can particiapte to the Wiki too.
2. Provide Bug Reports
Another way to provide feedback is to fill a bug report ticket. It requires more technical skills to understand where and what to put. But it's very efficient to see your problem solved.
First, it will require a Github account. Once signed up and connected to Github, you will have to find the code repository related to your problem. You can see here the whole list of our repositories. There is one for each app and module. Their name are prefixed with "cozy-". For instance, if you look for the Contacts application, you should look for the repository named "cozy-contacts".
When you will browse the repository page, you will have to go to the issue section represented by an exclamation point in the menu displayed on the right of the screen. Then, you will see a list of tickets and a big new issue button (on the top right corner of the list). Click on that button to create a new ticket. Put the maximum of information about steps to reproduce your issue. Screenshots are welcome too. Once published, a member of the Cozy team will answer and will try to solve the problem.
3. Localize the platform
Translating Cozy is a great way to contribute for non technical people. This time, we'll use Transifex as a tool. It's a platform that helps projects to connect with translators. To start with translations you must go to the Cozy dashboard on Transifex. There you will be able to select the project you want to work on. It will require you create an account. Once done, you will have to request for the authorization to participate to translations. When you will get the confirmation that you were accepted (we are quick to give it), you will be able to translate the application you are interested in. After you account is created go back to the Cozy dashboard on Transifex. Then, click on the button "translate" located at the top right of the screen and follow their guide. It's very intuitive.
4. Develop your own application
The best contribution is to develop your own application. If you have any usage you want to cover, you can add the required feature to Cozy through building an app. It's a great opportuity to learn web development with Node.js and you will benefit from community feedback and contributions. Moreover it's easy to building a Cozy app because you can start with data collected by other applications. A full tutorial about developing your first web app in 30 minutes with Cozy can be found on the Cozy website.
Additionnally, we set up a Mentorship program to help anyone who wants to make his own app. A developer from our team will work 4 hours a week to help you in building your app by providing you with support, bugfix and teaching. 4 people already joined the program and enjoy it!
Now you know the best way to contribute to Cozy! There are many more like spreading the word, starring our Github repository or mention us on Twitter. But these are for another blog post ;). Whatever, thank you for your attention and welcome to the Cozy Community!