It’s a classic libre software contributor story: Someone uses a tool, and adds to it a missing feature they want. Nextcloud contributor Bernhard Posselt got started this way and became a central member of the Nextcloud community.
He is based in Austria, studied Software Engineering, programs mostly in Java (Spring), and tries to find time to learn Haskell and Rust. Next step: Diving into Idris.
Like many, the first libre software he remembers using is Firefox. Later, Beryl (renamed Compiz) got him interested in Linux, before Windows Vista slowdowns fully pushed him over the edge: “Been toying with it for a bit and migrated fully after my new 2000€ Sony Vaio Laptop proved unable to run Vista at appropriate speeds”, he said.
The last step from user to libre software contributor was a small one for Bernhard: “I think it was sometime back in 2010 and 2011, when I wanted to migrate away from Google. I ran ownCloud for calendar and contact sync, but a decent RSS reader was missing. I took to IRC to complain about it in their channel, took a look at the linked repo, made changes, sent way too many pull requests, and got rewarded push access.”
News Reader
Like many libre software contributors, Bernhard got started as a student. At the time working on the Nextcloud News app as a student, to then take over development of the app as a volunteer for ownCloud a few months later. As a perfectionist, he quickly felt like the development model of, (in his own words) « writing templates with back-end code sprinkled in between », made proper testing harder than it needed to be. Eventually a solution was found: “I started working on a basic dependency injection container, middleware, database layer and controllers, later integrated into ownCloud. I know, don’t reinvent the wheel, but Symfony was not trivial to integrate and would have broken things in its way.”
When asked about the most challenging aspects of his work on the Nextcloud App, Bernhard retorts unexpectedly. Communicating with users is something that cost him a lot of time and effort. “Communication over text is by far the biggest challenge, followed by the tech stack. The app itself is pretty popular so there are a lot of feature requests. I rejected a high number of them because they are out of scope (e.g. Twitter API integration, a Yahoo Pipelines like way to filter feeds). It is very hard to communicate via text only. You get several essays into explaining why feature X won’t be implemented in avoiding hurting feelings of ideas rejected. They also put work into writing the issue, so that’s understandable.”
A lesson learnt: Asking of a single volunteer contributor to implement many features can overwhelm. “Adding features actually makes it harder to change or improve an app. You have very strictly consider implementation, and shove off as much as you can into third party additions. People are very lazy, yet very demanding. Many feature requests fit the bill of being solved using the well documented plugin API. Ultimately no one did anything with it, not even ask questions. I know not everyone is a developer, but somehow that failed.”
Joining Nextcloud
He joined the inception of Nextcloud, mostly due to being uncomfortable with ownCloud’s business model. “It was widely known that ownCloud was funded by venture capital. These guys usually don’t think long term, and cash out after a few years once growth declines, selling their shares to the highest bidder. Worst case scenario the new owner would have gone fully closed source, or crippled the libre software version. We all know what happened when Sun was bought by Oracle.”
Unfortunately, Bernhard’s migration wasn’t as peaceful as one could wish: “I got various angry messages on IRC telling me that I wasn’t allowed to move the repo since it belonged to ownCloud Inc. asking me to take down my ‘Nextcloud News’ titled app from the ownCloud store. I realized then that Nextcloud could very likely be cut off from the store altogether”. To the contrary, this contributed to his motivation to join Nextcloud, where he made his presence felt by building the missing store he was kicked out of: « I prototyped something that worked in a few days with Django, and got the basic store up and running in a month.”
Focus
Now in a very demanding job, and sporting two small kids, he has less leftover time for contributions. Still he does his best to keep active in the community. Wishes for the future: “Currently the server does not yet support nightly channels, making it harder to get quick feedback. The Cron system has a few race conditions sometimes preventing the feed update from running after an upgrade. Sometimes I’m wondering if people think about error handling at all. As for distributing things over the App Store: Things should be « easy enough » to get going. The certificate is obviously a bit of a hurdle, but well documented and in hindsight a good decision.”
Having brought countless improvements to Nextcloud – he then helped update outdated developer documentation, and added an app scaffolding tool (ocdev) now integrated into the store – Bernhard now focuses on what he considers the most essential part of his contribution: “Since my time is now very limited, I unfortunately had to give up working on the News app and only maintain the store. If you want to see further development being done on News, please drop by our issue tracker.”
Nextcloud Hub 9 vous permet de rester connecté. Découvrez de nouvelles fonctionnalités de fédération, l'automatisation des flux de travail, une refonte du design et bien plus encore dans votre plateforme de collaboration open-source préférée !
Nous vous présentons une mise à jour majeure de l'assistant Nextcloud IA, ainsi que de nouvelles informations sur notre collaboration avec plusieurs grands fournisseurs d'hébergement tels que IONOS et OVHcloud pour vous proposer des options d'IA en tant que service !
Bechtle et Nextcloud ont annoncé aujourd'hui une plateforme de collaboration entièrement administrée pour le secteur public, qui ne nécessite pas d'appel d'offres et peut être déployée immédiatement.
Découvrez comment passer de ownCloud à Nextcloud. Notre outil d'aide à la migration fournit des informations sur le processus de migration et vous aide à effectuer la transition en douceur.
Au cours de la dernière année, l'IA est devenue un sujet à la mode. Il y a de l'engouement, mais aussi du fondement. Il y a du positif et du négatif. Nous voulons vous offrir le positif, pas le négatif, et ignorer le battage médiatique ! […]
Le 3 décembre prochain, nous vous invitons au Nextcloud Enterprise Day Paris, l’événement phare de Nextcloud dédié aux professionnels. La journée commencera avec une keynote de notre PDG et fondateur Frank Karlitschek, un moment fort où il partagera notre vision de l’avenir de la collaboration en ligne, suivie d'une annonce majeure concernant Nextcloud Talk !
Nextcloud has been recognized with the World Summit Award Germany that selects and promotes local digital innovation improving society, aiming to contribute to the United Nations' agenda of sustainable development goals.
Maintenance updates 28.0.12, 29.0.9 and 30.0.2 for Nextcloud Hub 7, 8 and 9 respectively are here! Read an update summary and access full changelog on the website.
Nous enregistrons certains cookies pour compter les visiteurs et faciliter l'utilisation du site. Ces données ne quittent pas notre serveur et ne sont pas destinées à vous suivre personnellement ! Consultez notre politique de confidentialité pour plus d'informations Personnaliser
Les cookies utilisés pour enregistrer les données saisies dans les formulaires, telles que le nom, l'adresse électronique, le numéro de téléphone et la langue préférée.
nc_form_fields
Mémorise les données saisies dans les formulaires pour une prochaine visite (nom, adresse électronique, numéro de téléphone et langue préférée).
Les cookies statistiques collectent des informations de manière anonyme et nous aident à comprendre comment nos visiteurs utilisent notre site web. Nous utilisons la solution open source de mesure de statistiques web Matomo
Matomo
_pk_ses*: Compte la première visite de l'utilisateur
_pk_id*: Aide à ne pas compter deux fois les visites.
mtm_cookie_consent: Se souvient que l'utilisateur a donné son accord pour le stockage et l'utilisation de cookies.
_pk_ses*: 30 minutes
_pk_id*: 28 jours
mtm_cookie_consent: 30 jours