<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">Dear All,<br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">This is an semi-early call. <br>Would you think synchronizing 3.x releases of Calligra apps and components makes sense?<br>After we agree on basic things we may want to develop a 2016 release schedule.<br><br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small"></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">To reduce the work needed, one or two announcements are better than multiple.<br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">What are the pros/cons for you?<br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small"><br><br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">== Some background ==<br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small"><br>I see that KDE Applications or Frameworks (KF5) have synchronized releases.<br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small"><br>Perhaps for the apps there's a convenience reason. For the frameworks, I've heard cross-dependencies may be the reason. The same as with Qt: private APIs are cross-dependent, either you update entire Qt or not.<br clear="all"></div><br><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">​By frameworks in Calligra case I mean these components:<br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">- KDiagram<br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">- KDb<br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small"><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">- KProperty<br></div>- KReport<br></div><br><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">​So we have already quite a few​.<br><br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">== Information for someone who missed the changes from 2015 ==<br>- we have the above 4 frameworks in separate git repository<br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">- we have krita.git, kexi.git<br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">- Krita currently has 10 repos for its extensions grouped under the krita-extensions sub-project<br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">- calligra.git hosts the other Calligra apps and the libraries shared by these apps, other than Kexi/Krita (Kexi/Krita do not use them, right?)<br></div><br><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">​This separation influence changes needed in the release process. ​D​id I miss​ something?<br><br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">== Helpers ==<br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">Let me use example for Kexi. The Kexi sub-team maintains 3 repos for components, all but KDiagram, these are deps of Kexi and intended to be generally usable like KF5 modules. And of course maintains kexi.git.<br><br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">This is already different a story than the single repo. We had 2015's discussions on "whether to split calligra.git or not". Complication can be addressed by using certain helpers and workflows. Below I am mentioning just a few points so they can be potentially reused by other sub-projects. And notes will be appreciated.<br><br>1. Kexi and its dependencies already use approach of strong versioning: whenever _explicit_ binary incompatibility or large addition appears in the kdb/kreport/kproperty components, version number is bumped and if kexi.git needs these changes, minimal version is updated in kexi.git/CMakeLists.txt. This works quite OK with a rule that such changes happen on Mondays (the term BIC Mondays has been coined). <br>Currently the release (z for x.y.z) version number is bumped but when releases are public, major version should follow BIC changes. (for BIC see e.g. <a href="https://techbase.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B">https://techbase.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B</a>)<br><br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">2. Announcements and change logs. IMHO, in the modern days readers may skip studying announcements except some feature highlights of major releases, with great screen shots and videos. We're understaffed so this content mainly exists for Krita. At least for the stuff maintained within Kexi I thought about automatic change log generation. Qt uses that approach too, IIRC. For that, quality commit messages with tags such as GUI, FIXED-IN, FEATURE are needed, maybe even enforced by git hooks. I see no reason why it can't use some gui form helper... I'd report any successes on this front.<br></div><br><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">​== Further repo splits? ==​</div><br><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">IMHO, also in the future libraries from calligra.git can be extracted if there
 is real need and a long-term maintainer for that and Calligra 'users' of the libraries accept that. Example: a library from 
spreadsheet's statistical/etc. formula support looks like something 
useful for Kexi.<br>​<br></div>-- <br><div class="gmail_signature">regards, Jaroslaw Staniek<br><br>KDE:<br>: A world-wide network of software engineers, artists, writers, translators<br>: and facilitators committed to Free Software development - <a href="http://kde.org" target="_blank">http://kde.org</a><br>Calligra Suite:<br>: A graphic art and office suite - <a href="http://calligra.org" target="_blank">http://calligra.org</a><br>Kexi:<br>: A visual database apps builder - <a href="http://calligra.org/kexi" target="_blank">http://calligra.org/kexi</a><br>Qt Certified Specialist:<br>: <a href="http://www.linkedin.com/in/jstaniek" target="_blank">http://www.linkedin.com/in/jstaniek</a></div>
</div>