Monday, June 18, 2012

How to collaborate?

Kaya.gs from inception wants to advance with the effort from the community. Besides donations, there are many other ways to help Kaya.gs reach its very high goals of becoming a top-notch place to experience Go.

So far enthusiasts, translators, programmers  have been aided us in all sorts of ways. Sigilus with the Go Dictionary, Enders with an AMAZING amount of code on different sub-projects, AOA with score estimator algorithms, JJ and his RGF standard (which  could become one of Kaya.gs's strongest features).  They have earnt their Collaborator status, which besides distinction has some special privileges and perks.

The Go community has many developers, and many of them enjoy doing things, even if they are little, for Go.  I get approached regularly and this post is to help clarify what you can do as a collaborator developer.

Kaya.gs has a decent part of its construct in an open license. Its grouped as OpenKaya and a very large part of it was done by eager collaborators.

There are several libraries and sub-projects grouped there which include:

  • Gem to run bots in Kaya
  • Rating system
  • Scoring algorithm
  • Score estimator algorithm
  • Tournaments (High priority right now)
  • Widgets 

There is work for web designers (graphic or simply HTML and basic CSS) in pages like tournaments, or direct code to use Cuba, a great Ruby framework,  for the Tournament site.

You can take a peek at the documentation in OpenKaya and see what is most interesting. The key questions to ask yourself are:
What can i do? 
Not only on your skillset, but on the time you think you will dedicate. If you dont want to use much time, pick small tasks .
What do i want to do? 
This is also important. Starting on something you dont like on an open source project is very demotivating. So what would you like to do, what attracts you the most?


You can always fork the project and go rogue, test and do whatever you want. However contacting me is very easy, both inside and outside the server. Right now im coordinating and organizing the people collaborating so there is no collision.

After you pick a task and want to do something, i will help out in the design of the feature. I will check the code every time I merge it into OpenKaya through a Pull Request. 
Tests are mandatory. Because I need to know more than anything, that the code is doing what its supposed to do, and I cant know that without running unit tests. Check Score or rating to see examples of unit testings.

We are working a lot , and to make the server we envision we have a long road ahead of us. Its vital for us that the community makes this ride with us, and help the process.
Kaya.gs has already been heavily influenced by feedback, collaboration and support. Its an awesome opportunity to make a difference  and make a change in how Go players will experience the game online.

I hope this clarifies some doubts :) And i hope some of you finally decide to put your hands on the changing of the online Go World.






No comments:

Post a Comment