Skip to content

Contributing

The cross-language-cpp project

Cross-language-cpp is driven by individual people on a volunteer base.

The idea for this project has been born at the Mobile C++ slack channel.
If you are not member of this slack join via the Mobile C++ Slack self-registration.

Motivation

Already before the sunset of the original djinni project it was not possible anymore to contribute to the project. A lot of ideas, bug fixes and new features have not been reported or submitted upstream. They are either available in various personal forks of djinni, or not available at all.

Just to name an example, there are various javascript/nodejs implementation for djinni out there. They are all in personal forks, Often these project do not even know from each other. This is not optimal.

Goals

  • Continuation of the development of djinni and it's related tools.

  • Avoid a single point of failure for the project. The goal is to have enough maintainers so the project will always have some administrator, and a read only state like the original project can be avoided.

  • Be the place where new ideas and improvements to djinni and it's tools are collected and implemented.

Becoming involved in the project

As any open source project, we depend on the work of people that contribute to the project.

Contributing to the project

As mentioned, there have been various extension and additions to djinni been made.

But most creators say the same: This is just a personal extension, a fast hack to make something work, not good enough for public release.

These are all common reasons for not publishing code, and we think that they are not correct or should not be an impediment for not pushing changes back upstream.

Release early, release often, if something is not good enough, it will either be not used or fixed. Open source evolution will care about. But the essential requirement is, make the changes available.

There is nothing to lose, but everything to win! 🚀

Becoming a maintainer

As mentioned, one of the goals of the project is to establish a structure that ensures the availability of the project over time. For this to happen, maintainers are needed!

For being a maintainer, we think the following points are important:

  • Be available and responsive (as your time allows): Respond in time to user request, or just be there when your time allows it. A reply I do not know now but I will come back is better than no reply for people that visit the project.

  • Be reliable: If you admit to do something, please do not disappear without any notice.

  • Be consistent (for some time): It is common that people pop in full with ideas and energy, and this is great and such people are usual great contributors! But for a maintainer role it is also important to be consistent for more than just a few days or until 1 issue is realized or solved. No one expects commitment of a live time, but by taking a maintainer maybe for more than one week.


Last update: October 23, 2023