I would like to contribute as Software Engineer, please let me know how can I assist

Hello,

First of all, thank you for providing Siril as open source software and I really like it and have been using it recently on Mac.

I am a Software Engineer with 15+ years of experience largely in Java, Kotlin. I am familiar with CI/CD, Docker, GitLab, Automation etc.I am also an amateur Astrophotographer mainly focused on Stock DSLR imaging.

I am not very experienced at C/C++ but I would really like to contribute. I tried going through open issues but it is currently overwhelming for me. I do not mind doing any simple tasks which you guys would like to do but not getting time or something which is very mundane for you but needs to be done. I do not mind adding unit tests or any other kinds of tests but I am not a domain expert.

I am willing to learn new things, please let me know if you need any assistance.

Thank you.

Hi, thanks for thinking about contributing to the project!
We are finalizing the 1.0 version, so the list of remaining developments for it is quite small, it’s mostly troubleshooting. If you don’t find things easy to do for this version, maybe you can have a look at what’s planned for next versions or help with the testing and debugging for example. Writing unit tests would be nice but it’s not particularly easy, we haven’t defined which area should be tested in priority. You may also suggest new things that you would like to see in Siril and develop them on your side then create a pull request to discuss its integration. I suggest you do what you prefer of course, it should be fun to do and useful or it’s not worth it.
Getting in the source code takes a bit of time because it’s very monolithic data structure (src/core/siril.h is the entry point). A new developer joined the team this year, and she didn’t know the language either, so it is possible :slight_smile:

Hello.

Thanks for your message. Very nice.
As you are a MacOS user I may have an idea.
Indeed, so far we run Siril on GTK3. GTK3 is really bad with macOS system. GTK has now released a new version 4 which is known to be really better.
However, switching from GTK3 to GTK4 is not a one step work, but it could be interesting:

  • it concerns GTK API that is well documented
  • Using GTK4 will improve by a lot the usability on macOS

The downside of this, is we should update build scripts of macOS package.

Here the GTK documentation explaining how to prepare the migration: Gtk – 4.0: Migrating from GTK 3.x to GTK 4

So, now, this is just an idea of course. Feel free to do what you want!

Thank you @vinvin and @lock042 for the quick response. I like the idea of GTK migration. I will start reading and looking into it.

1 Like

Dear @ashutoshv .

I may have something for your as you are familair with CIs.
Indeed, we currently build our macOS bundle using Circle CI and a couple of python scripts.
In fact, we have updated the way GIMP is built on macOS with the help of the former macOS dev of GIMP. (I believe than now @Jehan is doing (trying to do) the job himself and like me he doesn’t have any macOS )

The problem here is that I’m not really confortable with these scripts/CI.

Today, I tried to build a bundle, to see if everything was ok. And, off course not… And I really don’t know how to fix that.

So if you want to take a look at it. This is more important than GTK4 migrating (I guess) because we need it for each release.
Our CI is here: https://github.com/lock042/siril-macos-build
The job that failed is here: https://app.circleci.com/pipelines/github/lock042/siril-macos-build/64/workflows/94f39f04-f625-4583-aab2-c1535a2ed596/jobs/206

If you need any information, please let me know.

EDIT: I’ve tried the -k option in curl command. No more SSL certificate error, but his one now:

https://app.circleci.com/pipelines/github/lock042/siril-macos-build/66/workflows/4437dbf2-8f4e-4f03-be03-e2de051c62b1/jobs/208

I’m wondering if the way inkscape is doing it is not a good idea: packaging/macos · master · Inkscape / inkscape · GitLab

@lock042 Sure I can have a look.