Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ninja-forms domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/wp-includes/functions.php on line 6114
Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the simple-custom-post-order domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/wp-includes/functions.php on line 6114
Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wp-mail-logging domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/wp-includes/functions.php on line 6114
Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the health-check domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/wp-includes/functions.php on line 6114
Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the updraftplus domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/wp-includes/functions.php on line 6114
Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the rocket domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/wp-includes/functions.php on line 6114 Contributing to Nextcloud covered in Dutch Linux Magazine - NextcloudSkip to main content
We recently got sent a scan of the Dutch Linux Magazine which covered Nextcloud last January in a rather awesome way. André Fondse contributed two-factor authentication support for Telegram and described in the article how that came to be and how it went. It made for a great story about how to get involved in open source and we commend Linux Magazine for covering it! To share some of the lessons he learned, we reproduce a summary here.
Inspiration
Nextcloud offers two-factor authentication (2fa), securing the login process above and beyond a simple password. André noticed that there was no 2fa functionality for Telegram, which features a bot API allowing it to be used for that purpose. After asking on the Nextcloud forums, he was encouraged by 2fa developer Christoph Wurst to have a look at this, if he was interested. The note came with an offer for help with instructions, and so André got started. While he never had contributed to a big open source project, Christoph told him lack of experience is no problem and gave instructions on how to get started.
Getting started
This began with links to the developer documentation to set up a development environment. André explains what comes next: dealing with Github. The first time, it can be quite a complicated beast, but good tutorials are available on guides.github.com. Once you’ve made changes to the application you want to work on, in this case the 2fa-via-sms app, a so-called pull request is done on Github. This essentially offers the code changes as a proposal to the developers maintaining the application. They review, give feedback and once approved, merge the code.
Challenges
André describes how starting in an open source community is a big journey into the unknown. Many unexpected surprises can be found, both technical and social. André bumped into a variety of issues, and learned Object Oriented PHP development along the way – a skill certain to be useful in the future. He also noted he had ‘been lucky’ with Christoph: Whenever he got stuck, Christoph helped out. His patience and his style of answering questions, often pointing to resources rather than answering directly, encouraged further learning.
Current state
André ends on the note that the deadline for the Linux Magazine article came too early: He wasn’t yet finished. However, at this time, it has been finished and is published as part of the SMS 2fa app.
This makes for a great tale of woe and success about participating in open source. André is not the first and certainly won’t be the last, with literally hundreds of people contributing to Nextcloud for the first time each year! As an open source community, such contributions are our life blood and we consider it extremely important to be supportive of any such efforts. If you’re interested in joining development, see our contribution page for some hints on how to get started or do as André did – pick an area where you’d like to get involved and try! You don’t need to ask anyone for permission.
“When we have welcoming communities of contributors, open source software gets better and more useful to everyone.” Limor Fried, Electrical Engineer, Inventor and Founder of open-source hardware company Adafruit We believe in this ideal and love to work with our community. We are always looking to involve more people in Nextcloud, bringing in their ideas, […]
When cables are cut, sanctions are put in place or privacy legislation prohibits the use of the service your entire organization depends on, what can you do? Amidst geo-political changes, organizations face dependencies on large, centralized communication platforms. A major example of this is the SaaS-only communication platform Microsoft Teams. It is the only solution […]
In Nextcloud Hub 8, we introduced interactive widgets, a completely new mechanic that lets you share, access and interact with items from various apps in a compact widget format throughout your platform.
We save some cookies to count visitors and make the site easier to use. This doesn't leave our server and isn't to track you personally!
See our Privacy Policy for more information. Customize
Statistics cookies collect information anonymously and help us understand how our visitors use our website. We use cloud-hosted Matomo
Matomo
_pk_ses*: Counts the first visit of the user
_pk_id*: Helps not to double count the visits.
mtm_cookie_consent: Remembers that consent for storing and using cookies was given by the user.
_pk_ses*: 30 minutes
_pk_id*: 28 days
mtm_cookie_consent: 30 days