LedgerSMB Community overview 2022
As the year-end approaches, it's time to provide an overview of what our community has achieved over the past year. At the end of last year, I wished everybody a healthy and prosperous 2022 and now is a time to look back and see how we did.
== Community interest ==
After years of decline in the number of hits on our website, this year has broken the trend: ca 2,000 hits more than in 2021! Traffic on the mailing lists was - in line with 2021 and 2020 - very low this year. However, from the fact that during the year, we've seen the continued increase in number of Stars and Forks on GitHub (Stars went up from 261 on 16 January 2022 to 304 today), we can conclude that there is still interest in the project. Fortunately, with Covid behind us, new members are coming to the project's chat channel on Element: people have time to show their interest and contribute again.
== Releases ==
With the release of 1.10.0 on 08 October 2022, we realized our goal to release 1.10 in the second half of the year, roughly a year after 1.9. With releases in the third quarter, we aim to provide mature software before year-end -- when most companies close their books. Despite the short release cycle, we were able to include a sizeable list of new functionalities, changes and (code) cleanups through 1157 commits, 738 files changed, 236,716 added lines and 148,116 removed lines of code (and comments) between 1.9.0 and 1.10.0.
With 37 releases across 4 maintenance branches in 2022, the project was able to maintain the pace set in 2021 (which had 38 releases):
1.7 (4): 1.7.38 - 1.7.41 1.8 (15): 1.8.25 - 1.8.31 1.9 (6): 1.9.6 - 1.9.22 1.10 (9): 1.10.0 - 1.10.8
Which excludes the alpha, beta and release candidate releases.
== Packaging and installation ==
For 1.10, configuration has switched from the traditional "INI" file configuration to enable/disable predefined options to a YAML based configuration file declaring dependency injection. This switch was made to support much more flexible customization options: entirely new functionalities can now be added just through the configuration file, instead of strictly en-/disabling existing ones.
== Development progress ==
This year saw similar numbers of commits as last year. Although the number of commits was in the same range, the number of pull requests (623) is lower than last year (827). The number of active developers - derived from accepted commits - went back down from 9 last year to 7 this year - the same as in 2020.
This year, too, we were able to close a number of long-standing bugs/issues, continuing last year's focus to close as many issues as possible in the 7-year-and-older range: * #1133: Add listing of user login accounts and employees * #1821: Allow page size for documents to be set through System > Defaults * #1881: Improve user feedback on saving, posting, etc of documents * #2321: VOID transaction does not reverse actual invoice
All from 2016 and 2015, just to name a few.
Project commits on all branches (excluding merges): 927 Erik Huelsmann* 132 Yves Lavoie* 10 Aung Zaw Win* 6 Neil Tiffin* 5 Jeff Shelley* 3 Hugh Esco 2 Chris Travers
By comparison, these are the figures for 2021: 895 Erik Huelsmann* 139 Yves Lavoie* 61 Aung Zaw Win* 11 Neil Tiffin* 4 Richard T. Weeks 3 NoGare 2 lianto.ruyang 2 daOrangePeeler 1 Xin Wang
Please note that the number of commits is in no way a measure of time spent on the project. Also note that these numbers don't include the time spent by those taking the effort to report their problems and taking the time to respond to developer questions as well as helping to test solutions when developers think they solved the problem. Similarly, there was a lot of activity with respect to issues:
Number of open issues at 2022-01-01: 158 of which remain open today: 124
Issues closed: 92 of which created before 2022-01-01: 34
Issues created: 82 of which still open: 24
Number of open issues today: 148
This amount of development activity triggers many CI/CD jobs. To run our test workloads, we have been using GitHub Actions as well as CircleCI, each set up to test different aspects.
There isn't much in the 1.11 Changelog that we've spent time on that wasn't included in a 1.10 maintenance release. Areas that we're currently spending time on, include:
* Driving the buttons on the AR/AP/Order screens from workflow configuration * Cleaning the code base from long-deprecated coding patterns such as DBObject * Creating more web services to drive migration of the front-end to Vue
The 148 issues that are open today summarize into these statistics:
* 8 bite-sized: a good place to start when looking to make contributions * 51 enhancement: requesting new features added to the application * 5 help wanted: looking for someone to help out on this issue * 10 migration: these issues need help testing and developing migration from SQL Ledger * 6 needs-documentation: there's not enough documentation...
(Note that an issue may fall into more than one category or none at all.)
== New functionality and improvements ==
Not an immediate feature by itself, but with 1.10 a lot of flexibility was added through configuration by dependency injection. One of the possibilities that have been unlocked with this change, is to have PDF output based on other input formats than LaTeX (e.g. HTML). The dependency injection change offers further improvements towards increased flexibility by allowing different authentication mechanisms and multiple workflow sources to be registered. All this to increase possibilities for customization of installations.
== Looking forward to 2023 ==
In 2023, we'll likely release 1.11 around the third quarter; again in a release cycle a bit shorter than a year. This year the 1.9 release branches will reach End-Of-Life status on 24 September 2023, as we have reverted back to only two concurrently supported maintenance releases with a supported lifecycle of 2 years, meaning that each year one will reach End-Of-Life.
And last but not least, I'm hoping for 1 or 2 new contributors (not necessarily developers; translators, testers, documentation writers or UI artists are all greatly appreciated!). If you want to contribute, but don't know where to start, please contact me.
== In closing ==
Thanks to everybody who contributed to any of the above in any way, especially to
Computerisms.ca for hosting our DNS Freelock.com for hosting our website and mailing lists Efficito.com for hosting our mailing list archive, apt repository, release and download server GitHub.com, CircleCI and coveralls.io for hosting our development workflow
My special personal thanks go to my GitHub Sponsors for supporting me for time, efforts and (financial) resources dedicated to the project!
Leaves me only to wish everybody in our community - and their loved ones - happy holidays and a safe and productive 2023!
participants (1)
-
Erik Huelsmann