*Summary:* This is a request to Mer package maintainers and the Mer community to please adopt a policy of requiring bug# in some commits to Mer packages for supporting vendor tracking of changes in Mer.

Jolla started with the emphasis of having community-the heart of any open source project- involved in the long run ahead of it. We caught the ribbon with the motto of 'doing it together', and tried our best to stick to it since day one. Today we are proposing and requesting a change which will help us all to be one step closer in achieving more togetherness, by opening up our development to anyone interested in getting a closer view of the code, and going further in contribution. We would like to ask our community to take part and collaborate in Jolla's release project.

*How Jolla tracks the work required for a release*
As you may know Jolla obtains its source code from both open-source and closed-source codes. The closed-source part is maintained by our internal developers, and the open part *[1]* by both internal and external developers. For each software release, this source code is taken from both places and shapes the release image. As expected, with each release candidate there is a changelog containing the information about what has been changed from the previous release to the current one. In this changelog there are both internal and external changes, with just one difference: For the internal changes, there is at least one bug number which shows what the git commit is contributing to. *[2]*

Up until now it's been that for changes in the closed-source packages (=the internal part), developers need to include at least one bug number in their commit messages which addresses to that change. However, for the packages on the open side there has never been such a tracking procedure. Therefore, tracking changes in the open has always been difficult, whether for the release manager, testers, or anyone else interested in following the changes. Having this bug number in the changelog for the closed-source part has had several advantages:

1.  From the release manager's point of view, it can make tracking the
   changes easier and more efficient; so that during each release
   cycle, there is some kind of documentation for him about what has
   been changed and in what level.
2.  From the testers' point of view, it is beneficial because they can
   test those bugs and make sure the commits have really fixed the issues.
3. And last but not least, everyone else who is interested can follow
   the changes from one release to another; getting a clear insight on
   the releases content and changelogs. *[3]*

However, for the open-source parts, the commits in the changelog are not followed by any bug numbers. this means for the release manager,testers, or anyone else interested to track the changes on the open, there are not any specific documentation (i.e. bug numbers) addressing them. Therefore, in order to track the changes in the open, one needs to do it manually, which is both time consuming and not beneficial. On the other hand, not offering a proper system to our community has also made it harder for you to contribute to Jolla's software development process. *[4]*

Jolla is always seeking the support and contribution from its community. We've already had 10 software releases, and had your words of support through all the ups and downs since day one. Having our community's continuous trust gave us the courage to be able to row in this stormy sea, and deliver a part of what we'd promised. Although Jolla couldn't make all the infrastructures ready for a better contribution from the beginning, we continued to back each other up; It has never been Jolla's sailors alone, but Jolla's sailors with its community. These all moved us forward, and now that we've put our feet on the ground, we are ready to deliver a new part of '_our_ words of support since day one' to you. We have implemented a suitable system to ease the ways for our dearest community's contribution.

As we talked about changelogs, Jolla's internal developers provide at least one bug number (the bug is created on Jolla Bugzilla) in their commit messages. This bug number helps our bot to link what issue each commit contributes to. Then the bot will update the bug automatically in each level of the release cycle; from the development level, to testing and release levels. These automatic updates show detailed information about 'who changed what'. *[5]*

The reasons Jolla uses a bot to do the tracking are:

 * Lots of developer's time can be saved to do other important stuff
   instead of checking a bug constantly and updating its status manually.
 * The CI-bot message makes it clear for everyone to see what is
   changed, when it's changed, and who changed it.

So, as the intro mentioned, as one of Mer's vendors, Jolla would like to ask the Mer package maintainers and the Mer community to please adopt a policy of requiring bug numbers in some commits to Mer packages for supporting vendor tracking of changes in Mer. To have this tracking mechanism also on the open side, developers can file a bug on Mer Bugzilla explaining the issue they have a fix for, and provide that bug number (e.g. MER#12345) in the commit message they push to git. This will benefit both sides, as:

1. Mer can provide the same kind of automation and tracking.
2. Jolla can cut down the manual effort required for tracking the
   changes in the open parts. *[6]*
3. Jolla can move planning of open components to Mer Bugzilla.

To keep a community successful, unified and going, participants need to have shared goals, and respect the cultural values. In Jolla, as one of our main values, we respect communication, advancements, challenge and invention. We want to move forward by having the transparency in what we do, and showing our passion in what you do. We would like to work with you as openly as possible. With your ideas, passion and creativity combined, we believe we can take another big step in our journey. The infrastructure is alive and kicking; you contribute, and we take care of the rest.

Please read our FAQ <https://wiki.merproject.org/wiki/FAQ#Vendor_.27Jolla.27_Frequently_Asked_Questions> and check Mer-wiki <https://wiki.merproject.org/wiki/Vendor/Release_Structure#Vendor:_Jolla> for more detailed info, and don't hesitate to contact us in case of any questions :-)

Best regards,
Nazanin (On behalf of the Jolla team)

[1] Existing open packages include some on Mer side such as mer-core, mer-tools, hybris-hal <https://github.com/mer-hybris> common stuff, essentially HADK; some on SailfishOS open bits <https://github.com/sailfishos> , and nemo:mw (Nemo Middleware)

[2] Some of the bug references currently showing up in the changelog are internal bugs of _public_ things which need to move to the open.

[3] These changelogs are available on the Jolla phone by running 'rpm -q --changelog package_name' in terminal.

[4] Read about Jolla's Release Process: https://wiki.merproject.org/wiki/Vendor/Release_Structure#Vendor:_Jolla

[5] Read about bug life cycle in Jolla Bugzilla during release integration: https://wiki.merproject.org/wiki/Vendor/Release_Structure#The_bug_life_cycle_in_Jolla_bugzilla_during_the_release_process

[6] Read about how Mer bugs get synced on Jolla Bugzilla: https://wiki.merproject.org/wiki/FAQ#Vendor_.27Jolla.27_Frequently_Asked_Questions

































Reply via email to