Would like to contribute to Crystal for GSOC

Hi folks,
I am interested in taking part for the next GSOC. I haven’t decided on a particular topic that I’m going to work on. I have little experience with the language, because I discovered it just recently, but I know a little bit of Ruby.

I was thinking of working around with Crystal for Windows, or maybe machine learning libraries?
Or maybe, I can work on formatter/linter? Or maybe Crystal version manager (similar to Uru, but cross-platform)? Crystal IDE for the community?

What do you all think?

4 Likes

Sounds like you’re ready to take on some challenges! :joy: I think that’s awesome.

Whatever you’re most interested in would be a great place to start. I know there’s been some machine learning shards built in the past like this and this, and there’s already a few crystal version managers (I use asdf). And there’s some IDEs being written like this one and maybe this?

Crystal for Windows would be a huge help for sure. If you were able to get some of the big shards running natively on Windows. Like a Lucky or Amber app without using WSL. But really, whatever you’ll have fun doing just have at it!

1 Like

First step on our part would be to apply for GSOC as an organization.
Are there any plans for that? @bcardiff

For reference: Last application in 2018 wasn’t accepted. Maybe it works this time =)

1 Like

So, MSYS2 it is then? What would I need to know about, before preparing to start making a project for Windows? I am just roughly guessing, but comparing with Rubyinstaller, I can notice that there are some C header files?

Maybe @oprypin can chime in on this one? I don’t have any experience working on Windows. The only help I can provide is support… you can do it! :grin:

1 Like

This could be a starting point.

I just saw Nim put out an announcement about participating.

https://forum.nim-lang.org/t/7367

1 Like

So folks, is Crystal going to GSOC?

Got this email:

Org admins can submit their org’s application to be a mentoring organization for GSoC 2021 at g.co/gsoc from today until Feb 19 at 1900UTC.

Please remember for the 2021 GSoC program all projects students will be working on for the summer should be ~175 hr projects. Please adjust your Project Ideas as needed. Having a thorough and well thought out list of Project Ideas is the most important part of your application. Making sure you having enough mentors excited to mentor student projects and that are ready to commit to mentoring over the summer is very important.

Maybe we should make a page of project ideas?

2 Likes

“Maybe we should make a page of project ideas?”

Yes, we should. It would a crucial starting point for anybody thinking to contribute to the Crystal ecosystem.

IMHO, we should NOT invest time in developing tools - like IDEs, version managers and so on - because Crystal can already use many of the existing ones with good results. For example, I’m using Visual Studio Code as a IDE for Crystal, at the moment, and I’m totally satisfied. I would not use any other IDE for the same reasons I do not use Spyder when working with Python: I do not want to use two different IDEs.

Instead, we should focus on at least one “killer application”: something that could convince other programmers and other users to spend time with Crystal. In particular, we should focus on something that can attract C, C++ and Python programmers, not (only) Ruby ones.

This because what we really need for Crystal is to exploit its capability to re-use existing C and C++ libraries, in particular the libraries that made Python the most diffused programming language worldwide: OpenCV, TensorFlow, and so on (NOT Pandas because it is not easily “portable” to Crystal).

I do not actually know what can fit a 175 hr frame but I suspect that porting Crystal to Windows and/or developing new ML libraries could easily take longer. Focussing our attention on a finished, working binding generator (crystal_lib, bindgen, etc.) could be a wise choice. Making a OpenCV (C++) binding for Crystal could be another one.

NOTE: We already have a couple of “killer apps”: Kemal and Amber. Unfortunately, they both attract mainly Ruby, Rails and Sinatra programmers/users who mostly use the existing Crystal code to replace Ruby. This does not help Crystal to evolve.

1 Like

Personally, I’d love to see someone getting WASM running natively on Crystal. Then being able to showcase writing the C-extensions in Crystal, and running the app directly on the web. I’ve also mentioned in another post.

3 Likes

Would one project/repo changes need to “fit a 175 hr frame”, or could/should we consider a collage or mini projects … or some mix of smaller/medium/larger projects?

I’d say small projects or “incremental improvements” to this that or the other…best to focus on a few things (or just one) in my experiences…

1 Like

Haven’t seen any reply in a while. I think that the deadline for registration has passed, and that hopefully Crystal is registered. What could be a great “mini-project” that can be done in a shorter interval of time?

Haven’t seen any reply in a while. I think that the deadline for registration has passed, and that hopefully Crystal is registered

It’s most likely the other way around: if there was no activity it probably means nobody registered anything and there’s nothing going on for GSoC this year (similar to previous years.)