As you all know, Kotlin went Open Source two weeks ago. In this post, I give some instructions for prospective contributors and an overview of the contributions we already had.
Kontrbute!
Contributing to an open-source project is easy:
- Have a look at our issue tracker to select an issue you’d like to fix.
- We have a special tag for those issues that seem to be easy for newcomers.
- We also have an assignee in our tracker, named Kontributor, to whom we assign issues that we are hoping to get contributions on.
- Fork our github repository.
- Fix your issue.
- Submit a pull-request.
BTW, we have already accepted the first pull-request from an external kontributor: https://github.com/JetBrains/kotlin/pull/1. Thank you, Sergey! When in SPb, drop by our office to collect a T-Shirt.
I would also like to mention James Strachan and Evegny Goldin, who are already Komitters, but not enrolled with JetBrains. Guys are contributing to standard library/KotlinDoc and build tools respectively.
Not really into fixing bugs? Lots of opportunities for you, too!
There are many ways to help Kotlin get better. Here are some examples:
- Mark Derricutt (@talios) recorded a screencast demoing Kotlin IDE.
- Want to do a conference talk on Kotlin? Present the language to your schoolmates or co-workers? Please contact us, we will help you!
- Ken Sipe, Yuri Trukhin and Sergey Lukjanov already presented on Kotlin at different venues.
- Several people contributed external tools making Kotlin support scripting:
- There’s a great idea of implementing Project Euler’s problems in Kotlin
- A somewhat official project realted to this is: kotlin-euler, there are also some other efforts.
- Also, you can think about other project of this sort, maybe PLEAC or some language benchmark. Note that Kotlin’s 99 Bottles of Beer are already there.
- Some other projects to check out:
- https://github.com/ignatov/kotlin-vim
- https://github.com/vkostyukov/kotlin-sublime-package
- https://github.com/xian/jasmine-kotlin
- https://github.com/kondratovich/aztec
- https://github.com/cobaltolabs/KotlinPrimavera
- https://github.com/TinyMission/kara
- https://github.com/griffon/griffon-kotlin-plugin
- https://github.com/k33g/kotlin-textmate-bundle
- https://github.com/danseid/katchers
And remember that your solutions to Web Demo problems are very welcome, as well as new problems. Just twit them.
Bigger things
If small contributions don’t entertain you that much, you can always go big. There are very important things we cannot handle all at once.
One thing is Eclipse support. We will start a project for Kotlin’s Eclipse plugin pretty soon, and you are very welcome to join and share your experience and passion about it.
Another thing, or rather many things, are popular libraries and frameworks. Wouldn’t it be cool to support Play in Kotlin? Or Akka? Or <you name it>?
We understand the importance of these things, and are willing to help you. See this Akka issue for example.
To Conclude
I’d like to thank each and every kontributor for their help, and I’m very glad seing more of them coming!
This is definitely helpful to know where one can contribute to the Kotlin project, thanks!
One of the pet peeves I have about open source projects is sometimes it’s hard to know how to contribute, unless you’re already an experienced developer and can dive into some complex code. Making it easy for people to contribute gets more people involved and excited about the project.
Would you tell us some message on the part of ‘module and compile’?
Since the concept of module is very important( dependency, runtime representation, its relation with OSGi, etc ), and you pointed out that “Modules are being redesigned” in http://confluence.jetbrains.net/display/Kotlin/Modules+and+Compilation.
Modules are currently being shaped out.
One thing I can tell you is that there isn’t any plan for runtime representation. We’ll leave that to frameworks/platform. A module is going to be a static entity.
Many thanks. Do you have any plan on Kotlin 1.0?
If you mean a date then no: we’ll evaluate Kotlin by using it in production for some time before we release 1.0.
Could you please add my project into third-party tools list?
This is SumblimeText 2 Package for Kotlin. It contans Kotlin syntax defenition map (primary based on grammar). Here is project page: https://github.com/vkostyukov/kotlin-sublime-package
Done! Great job, Vladimir! Thanks a lot.
Are you planning to take Sublime integration further?
Thank you for feedback, Andrey!
I’m planing to add
1) “.sublime-build” file for launch Kotlin compiler
2) several “.sublime-snippet”s for popular constructions
The hardest work is already done: i have syntax defenition file.
Great to hear this!
What is the best way to contribute example code samples for people starting out?
I’m looking forward to help out!
Thanks
Eric
Hi,
You can start by posting the samples to the forum (http://devnet.jetbrains.net/community/kotlin), and we’ll do something to promote them.
Thanks!
If Andrey is working on JSR-335 and Kotlin, is this not a conflict of interest? Making the JSR as bad or as late as possible could be e.g. perceived as a benefit for Kotlin?
Yeah, now you can blame all the problems of Java 8 on me