Closing session
Published June 13, 2025
This video features Dominik George and Tom Teichler at DjangoCon Europe 2020 in Online.
DjangoCon Europe 2020 (Virtual)
September 18, 2020 - 12h35 (GMT+1)
“Digitisation and Education — How the AlekSIS project fosters co-creation of school software by young people” by Dominik George, Tom Teichler
Free software is all about participation, and projects can empower young people to participate by designing their software in a way that opens it up for learning and teaching in education. This talk reports from the AlekSIS project that develops real-world educational software that is intended to be extended by the students that actually work with it.
The Teckids community aims to bring children and young people into free software as users and contributors, and argues that projects must remove age-based barriers in their terms, hosting, and communication tools. AlekSIS, a Django-based school information system developed with students at a school in LĂĽbeck, illustrates how modular apps can digitise real school processes while giving coding classes useful, real-world work; its team also explains its inclusive development practices and choice of the EUPL. In the discussion, the speakers say children can work with real code from a young age when they can see the effects of their contributions, and describe the importance of accessible learning materials and practical projects.
Summarised automatically from the transcript.
Automatically transcribed, so expect mistakes in names and technical terms.
Speaker 1: Yeah, hello everyone and welcome to our talk about uh digitization and uh education. Uh how the Alexis Project fosters co-creation of school software by young people. My name is Tom. I am a sixteen year old apprentice systems engineer from Germany. In my free time, uh I am a systems engineer and software maintainer at the TECA CV and um I like coding and DevOps or traveling to Foscon. Francis.
Speaker 2: Hi, my name is Dominic and I am chairperson of Tickets if I'm accompanying Tom today and uh yeah well my my goal with Tickets is to uh to really get young people into into free software and getting them to contribute. I'm a systems engineer at Kreativ GmbH, which is a German company who has committed to uh really high-quality open source support for business. And yeah, one of my hobbies is traveling open source conferences, uh helping helping young people present. uh running booths for free software in education and also giving talks uh
Speaker 2: about what to expect and what to care about when trying to help young people. contribute to projects.
Speaker 1: Dominic and I are both members of the TECHV, the probably only free software youth organization in Germany. Our headquarters is in Germany, but we are working internationally, for example, at the Fostem in Belgium or at the Linux Days in Austria. The goal is to set up a free software community for children and youth. To reach this goal, we provide educational organizations with readily available free software, both as community-driven software as a service platform and individual hosted. The core principle is children and youth are involved in all parts of our work, both in technical and organizational areas, to make being a contribution Second nature to them. We are also contributing to free educational software such as Alexis or Debian
Speaker 1: Edu. We have another project called Frog Labs where we directly attract children children to coding and making workshops to get them in touch with free software and creative aspects of technology. One of the few free public projects of Tekids is called Schulfrei, which is an idiomatic pun of school and free translating as off school in proper English. The Schulfry selection currently includes free educational software like Moodle, Nextcloud, BigBlueButton, Alexis or and Debian Edu ShuFi's goal is it to create a bridge between teachers, developers, students and companies. ShuFi provides many opportunities for adaptation and participation, so please feel free to participate. FOSS projects should include everyone. Everyone means every person who wants to contribute to open source software so children and youth are also included.
Speaker 1: in everyone. Typical barriers are for example terms of use if they limit the user's rights because they are not legally acceptable by children. So please keep barriers to your minimum. Choose a free and non-discriminating license and make sure that your terms of use are illegally acceptable for children. It is important to understand that young users are also contributors. Most of them are passive contributors, that means that they are most of them are passive contributors, that means that they are use the software give feedback and they are making and sharing experiences.
Speaker 1: So young users are an important target group. Some young user some young persons are also active contributors. They are developing their own software or contributing to to the software they are using. One example for very young active contributors during the Tekids workshops children as young as
Speaker 2: Non -free and in the worst case discriminatory platforms are very widespreadly used in free software development. Unfortunately, many projects do not pay so much attention to the terms of service of the tools they use, but this is a critical starting point to really get everyone included in development and in contribution. to the project. For example, GitHub is the most widespread platform for source code hosting and collaborative development. Also there is uh GitLab. com as an alternative and Bitbucket and some other platforms. All of them share the property that they discriminate against young people. They have some legal reasons to do that
Speaker 2: because for example under US leg legislation there is the copper law which which forces which forces them to restrict access to under 13 year olds um under some under some circumstances. And these circumstances are uh some somewhat based on other on on other terms these these services. these services have in their in their legal texts. So what can happen here is that there are some people, not only young people, who cannot use these services And they are basically excluded. Or even if they aren't excluded, they are turned into citin uh into second class citizens This is they may maybe can
Speaker 2: can contribute by uh by using a proxy by getting another person to to post an issue in their name. Or they can use another channel, they can uh find find some private email address of of one of the developers and and send them their opinion or question or contribution. But they are not on the same level as other contributors. So at the very least, every project Be it for development, for discussion, or as a technology conference, need to find ways how to get everyone included. For example, a technology conference Will do almost everything for a for a for a venue where people get for for in-person events.
Speaker 2: They will do everything to not log out like wheelchair users. And even for people who have certain views like vegetarians, they will have alternatives for uh for lunch maybe. And uh it's very important to also carry this idea into the virtual into the virtual world, into virtual venues, into software development, into discussion. But the groups of people that are excluded in this area are different. For example, children and young people. So for development for discussion, use If you can use uh use at least one channel that is accessible to everyone. If you can make it the only channel, this is ideal. If you can cannot make it the only channel
Speaker 2: uh it it there should be an alternative that can really really be used by everyone. If accessibility for every group of people is ensured. Then the next step is how we can design projects that are easy to contribute contribute to and that are easy to contribute to for people that are under that are still under education
Speaker 1: To allow everyone who wants to contribute to free software, there are some free alternatives which everyone can use. For source code hosting, everyone can use free GitLab instances like Kedogit or Framagit. To communicate communicate with others, Matrix or MetaMost can be used. Some GitLab instances have an integrated MetaMost instance connected to the GitLab instance. For video conferences or webinars, platforms like Jitsi or BigBlueButton can be used. Also, while using free software alternatives, you have to pay attention to the terms of use of the instances you are using. using. For example, the official GitLab instance, GitLab. com, cannot be used by children due to their terms of use. This is the dashboard of Alexis instance at our pilot school, the Catarineum at LĂĽbeck.
Speaker 1: Alexis is high customizable so you can style your Alexis in your school's GI colors, at your school's logo, and much more. Everyone who has an account Is able to customize his dashboard with widgets, for example the today's timetable, RSS widgets, or notifications. In the timetable provided by Alexis Appconners, you can see your timetable by week. You also can see timetables for groups or rooms. Alexis epconos shows if there is a substitution of the lesson was cancelled. In this screenshot you can see two cancelled Lessons. These lessons were cancelled due to an Alexis Dev student this week. The class register feature allows you to mark students as absent late or excused if they are not present. You can make notes in every lesson and save the homework you gave. Additionally you can add notes per student.
Speaker 1: On this slide you can see some of the Alexis core features and some of the additional offer The core features are features such as um the management of persons and groups or the two factor authentication and uh the general app platform. so that you can install additional apps. The whole Alexis ecosystem works with the materialized CSS framework so that everything Everything looks uh clean and uh the same. Alex is uh automatically back up uh his uh database and static and media files uh so um that you don't miss any data if um your Alexis instance uh
Speaker 1: breaks.
Speaker 3: Alexis currently provides the official apps I'll see Chronos, Exlibris and Yelp. Because we already explained Alcygel and Chronos, we are going to only describe Exlibris and Yelp on this slide. With uh Xlibris you can Manage your school's library, you can create books, generate book barcodes with your school's logo and scan these barcodes to open the book book copies page or to borrow it to a student. The condition of the book copies. Yelp is the feedback and support request tool. You can create feedback categories in Help so that everyone can give feedback to your instance. The feedback will be emailed to a configured email address. The feedback is important because if there are any bugs the user can report them and you can open a bug report.
Speaker 3: Alexis provides some integrations with other educational software. You can import timetable software. Provide some integrations with other educational software. You can import timetable data from UNTIS, a German timetabling software, or users, groups, classes and keep them in Zync with your Alab server. the additional dashboard feeds
Speaker 1: app you can add RSS and calendar feeds to your dashboard. In Alexis we are trying to use best practices everywhere we can Because we want to in Alexis we are trying to use best practices everywhere we can. Because we want to elect At Alexis we are trying to use best practices everywhere we can, because we want Alexis to be a textbook example in school so that computer classes can learn with Alexis source code. We are using very complex And complicated things like query sets or managers to manage Alexis data, but these functions are mostly well documented and generary generally reusable. it is very easy to develop own apps and manage Alexis
Speaker 1: data in these apps.
Speaker 2: As we already explained, Alexis uses an app-like modularity system provided by the Alexis Core and features of features of this school information system can be added by by installing apps. Apps are yeah, basically what they are. They are they are Django applications with a bit of glue around them that uh makes them that makes them compatible with the with the Alexis ecosystem. The idea is that uh real world processes are encapsulated into separate apps. So When a school has the one process they want to they want to digitize, like lending school books to um to students at the beginning of the school term.
Speaker 2: Um then we call this a process and this process can be turned into into an app. And this can either be done by uh by the Alexis development team, by some professional software developer, or even by by a computer or coding class inside the school. This is actually what we want to see happen. We want coding classes, to um to create something that is that is used in their real environment, that provides benefit for their for their real world, that provides value they can see in their day to day day to day life. So they do not only learn for throwaway projects in uh in their computer science classes, but they they really can uh can turn their learning efforts into something that uh that they know what it is
Speaker 2: what it is good for The licensing of Alexis is another topic that needs a bit of thought to make it easy for young for young people in a broad mass of people to contribute All these legal issues around software licensing, about uh contribution contribution agreements and the like are somewhat difficult, in parts maybe even more difficult than the technical aspects of contribution. to software. Some licenses are really short, they can be read easily like the MIT license or the BSD license licenses. And there are other licenses that are that are quite longish and uh contain a lot of corner cases and explanations
Speaker 2: like the GPL. This is one aspect. So the natural choice here would be a short license that can be read and explained in a um in a short period of time to new contributors. and especially young contributors. But these short licenses normally don't provide much protection. Now as a As a person who really likes openness, who really wants to foster open software, I tend to use the MIT license because I want to give the most freedom I can. Sometimes I play with the thought of using a copyleft license to ensure that software will stay open and I can understand that people find this important
Speaker 2: too. And when I work with young people or when we work with young people at Tickets, we also tend to use copyleft licenses because uh we think that it is easier for the uh for the young people to understand what the consequences of opening their software are if they know that others will have to will will have to keep the soft the software open and cannot just cannot just take the the work they do into a commercial product without without caring about keeping the software open or uh providing changes back to the community The choice we made at some point was use the EUPL, which is the European Union public license It's a bit special because it is not that widely adapted, but it is um
Speaker 2: but it is an OSI l OSI approved license. Um the Free Software Foundation has has approved it. Um It resembles the GPL a bit with aspects of both the LGPL and the AGPL, so it uh has terms about running software as a service. and it also has terms about linking with with products under other licenses. So it offers both good protection for users and contributors, especially within the EU because it is somewhat uh s somewhat bundled with EU copyright law. But it is also but it is also workable for uh for legislations outside outside the EU.
Speaker 2: One special thing about the EUPL is that it has official translations into all your all EU languages. So um there is an official license text in every language we encounter in the in the EU, including English of course, which mate makes it understandable in more areas of the world. But um for let's say a Spanish group of student students who are already um who have already enough to do understanding the content of the license we can remove the need to to understand the the legal the legal English text and we can provide them with a Spanish text. Because this license is actually made for for citizens, not uh
Speaker 2: not only for uh for lawyers. The the SAAS protection is a bit easier to implement in practice than with the AGPL. I do not want to discuss this in detail here. But in general we get a good level of protection for web applications while also keeping uh keeping the software quite open and above all the legal stuff understandable by uh a wide range of contributors. Also it uh clearly has the place of jurisdiction in the license. which is important b uh because we wan do not want to uh impose the impose the danger of having uh any
Speaker 2: um uh any legal stuff to do in uh in in very remote places uh if if everything should ever anything should ever happen.
Speaker 3: Because the Alexis team is geographically a bit pulled apart, our development process is based on a mix of Scrum and feed. feature driven development. That means that we have two week sprints with a review and planning meeting with a team at the Catarineum every second Friday. We are working with milestones for every release and also for alpha or beta releases.
Speaker 1: Everything is committed to a separate branch per issue. If the work on an issue is done, a merge request will be created created and the changes will be reviewed by one of our maintainers and the dev meeting and if everything is okay it will be merged into the master branch. Alexis is uh repres represented by the deputy headmaster of the Catarineum and the chairperson of Tech It. If you are developing software
Speaker 3: we would ask you to use free platforms that can be used by everyone regardless regardless of their age or anything else. For example, you can use our own self-hosted GitLab instance, eduGit, to develop your software and the connected Big BlueButton instance and MetaMouse to communicate with others. You also can use our plate instance to translate your software.
Speaker 2: information system, let's look at the most important school in this process, the Catarineum in LĂĽbeck. Alexis is mainly developed by a group of students and one teacher at the Catarineum, together with uh some with one other student and a professional software developer developer from TechIds and uh they have established the development of this application. somewhat in their in their general all-day school life. There is regular feedback from teachers and students, normally very positive feedback. They say that the application is fast and clean, that they like the responses. and mobile-friendly design. That they can send direct support requests through the Yelp app
Speaker 2: and at the digital class register called AlcyGill which is Arabic uh Arabic for for the class register, um has features they really like and uh they uh couldn't have gotten that that that easily in commercial applications. like automatic summation of absent hours and uh such things. Um they also think that uh they really benefit from the development team being being uh being part of their school as well because they get prompt response to bugs and and feature requests. They can have a chat with uh with the young developers, they they can exchange uh exchange discussion directly and
Speaker 2: um yeah they they know that the that uh both the teacher who di who helps developing Alexis and the students uh use it from day to day and they really know what's going on and they really understand what the what the use cases and the user stories are. And uh there are also some patches from from students out outside the core team. Sometimes there uh there are minor bugs. be it as simple as typos that are that are fixed by by some student who does not regularly contribute to Alexis. Um they have uh uh some some students that contribute translations they have a a team that that cares about a Latin translation even which is uh
Speaker 2: Maybe not that important in practice, but is is another good example of how how developing such an application can be a benefit for learners. And for the more practical languages they they also have a a group that that helps translate Alexis into French.
Speaker 3: Important thing is to adapt an open minor friendly development process and to use open platforms which everyone can use. Please make sure your software can be used by computer classes. To learn with it and contribute to it. Don't be afraid of young users or contributors in the open source communities. If possible, it would be very helpful if you donate to the Tickets VO to foster educational pro force projects and children as users and contributors. So thank you for listening our talk. If there are any questions, please ask please ask them in the QA section, which is directly after the talk. You are invited. To visit the project's websites.
Speaker 3: If you want to help or connect, please contact us via email to fos at techits. org. To chat with others about Schulfry, you can Use the schoolfreie chatroom via Matrix, XMPP or Telegram.
Speaker 4: So uh hi and thanks everyone uh who is joining. So I believe uh Tom who uh uh our speaker one of our speakers for today's uh prison so uh if you have any questions uh please uh feel free.
Speaker 2: Second speaker is here as well. Hi.
Speaker 3: Hi yeah.
Speaker 5: Uh hi. Uh I wanted to ask you if you have uh any recommendations on uh uh didactics uh approach to like teaching code like if you have any reference to that So like a more uh directed way of teaching codes to young people or something
Speaker 2: This might be a question for me. Well uh I I can only say only say it depends. We uh we more or less found out that All yeah, m all all classes oil coding classes are uh are somewhat different. Um the The most interesting aspect maybe is that it actually works to uh to have children write write actual code. Um there are There are ways that in like graphical programming using using scratch or uh or comparable tools, and they they are a a really good starting point. But uh the assumption that uh one cannot take uh a class of ten or eleven year olds
Speaker 2: um and have them have them start actually writing real code. Um mostly turns out to be um mostly turns out to be wrong. And um I think it's I I think it is a g it it is a good way um to to really have children see real code and um when we do real real world world patching like like described in the talk uh it's hard actually happens happens sometimes that uh when when we do when we do workshops we know normally do uh workshops using py game when we uh when we start coding with children Um and when we find bugs or missing small features in in tools we use like the the
Speaker 2: um the tony IDE uh this has happened to um then we really walk one or two of the participants who who found this issue through uh through fixing the code. And uh w it is not important at this point that they that they really understand one hundred percent what they are doing. But that they see the effect of what they do and that uh it actually has an effect not only not only for uh for them but uh but for everyone else. And um this drives interest forward and once once uh it was managed to drive interest forward, um the learning happens uh happens by itself if you give uh if if you provide the material like um more tutorials on uh on on PY
Speaker 2: game, uh ideas on how to continue using PY game uh and then uh if you find a project that that can be that can that can be extended in the in a in a coding class like we do with all like we do with Alexis. Um Um the real world value even provides more uh more ways to drive interest forward.
Speaker 5: Cool. Uh and what about language barriers? I don't know if your students speak English, but uh it's normally hard to find um code code uh tutorials and and stuff and the the language itself uh is in English right uh is that like any tips on that
Speaker 2: Tom, do you want to answer or?
Speaker 3: Um I I'm sure if I get the question. Um we um we we also provide um materials that we um we we I don't know.
Speaker 2: Okay, um I I I I think we cannot really answer this question because the uh the issue you described is not that eminent in in Germany because there are re really really good Python tutorials and and online courses in German um provided by uh BWINF, the um national uh informatics competition organization. They they provide a really really good online course. There's uh the book Hello World by Carter Sand, who was himself 11 years old when he wrote it together with his father. um is uh translated into German. Um I actually cannot say how this is uh in in in in in in other areas. We do not see this problem in Germany actually.
Speaker 5: Yeah. Well I I guess we just have to like create more material in Portuguese. Uh so it's available for more students. But yeah, thanks.
Speaker 2: Any more questions, feedback, ideas are also welcome how to improve things.
Speaker 4: Uh I was uh genuinely curious um how uh What's the the the earliest age you'd consider uh is uh a good time to start coding? Like I'd be guessing two years old is probably too too soon, but then I I'm not sure I have a a good idea what would be an appropriate age.
Speaker 3: Um I think the youngest uh youngest child was six years old or seven.
Speaker 4: Okay.
Speaker 3: Um In in our workshops and everything worked well. So yeah.
Speaker 2: I'd even say there is um the f first of all it it it depends on uh on what you what you see as coding. If you re m me really focus on on writing writing code in in text, then of course uh it it depends on when when the child can can read and write properly. But it uh appears that um Yet really young children who who just started reading and writing have less difficulties learning the properties of a programming language um than At the time when they get really, really, really good at writing uh English or German or whatever their their native languages. Um We have seen children as young as six or seven years who who who
Speaker 2: just just started started learning re reading and writing properly at school uh learn learn NXC li uh uh uh C-like programming language tailored to Lego Mindstorm Roboters um without any issues.
Speaker 4: That's impressive. Both of of you and of them. And also I wanted to uh thank you for like a a great talk that was really interesting and like learning a ton of things and seeing great initiatives And uh well also I wanted to uh share uh to you that there's a little wall of people uploading you, so it's on Slack, so I'm sorry you can see that uh there's a little roll of people sending out those emotes. So uh thank you very much and that's just really really nice. Thank you.
Speaker 3: Anything else?
Speaker 5: Yeah, also another uh curiosity, are you familiar with the coding dojo method? Um Like have you tried that with students?
Speaker 3: Uh I I heard of it in a talk at the I think um C three, two years ago But uh I didn't try it myself.
Speaker 5: Oh it's really really awesome. Uh I really recommend trying it. That's how I learned uh programming, so I'm a like huge advocate for for that.
Speaker 2: Yeah. They are they these uh these coded autos seem to be a really good starting point. Um we attack it, we actually strive to to cooperate with uh with uh those initiatives. Unfortunately um those initiatives from the Coda Dojo um ecosystem or whatever um uh you might call it uh have uh have vanished in the in the local area here. Um we have have not found the resources to start one and uh decid see decided to um to find other initiatives who uh who do these really, really uh beginner things and uh because we are focused on getting uh intermediate level uh adolescence and children who are on a more intermediate level um
Speaker 2: to get uh involved in the long i uh in in in in the long term.
Speaker 5: Cool. Uh well if you have an interest in in like at s at least uh taking part in in a session to see how it looks like Uh there's a Cody Doja session in in Brazil that's been going on for like ten years or something. Uh it's every uh Wednesday uh of course it's in Portuguese but now uh people starting doing uh a session in English on Saturdays after So it's uh and also everyone else else is welcome to to join. So like it's a pandemic, so we're doing that uh online in a way Uh so it might be interesting for anyone who's curious to know how the dynamics work.
Speaker 5: Um
Speaker 2: I'll
Speaker 5: send the link.
Speaker 2: This very weekend we will uh kick off the next uh business year in in our organization and uh we are planning to reorganize projects a bit. And uh cooperation with Coda Dogers will definitely be on be on a on on the list there.
Speaker 5: Cool.
Speaker 4: Yeah, I think the next talk is about to start now after one minute or two Well, thank you very much again. And uh yeah.
Speaker 5: Thank you. It was awesome talk. Thank you.
Use contribution and communication channels young people can legally access, keep barriers such as restrictive terms of service to a minimum, and treat young users as potential contributors. If the usual platforms exclude them, provide an accessible alternative.
Discussed at 3:07The speakers suggest free GitLab instances such as eduGit or Framagit for code, Matrix or Mattermost for communication, and Jitsi or BigBlueButton for video calls. Check the terms of service for each instance, since some services—including GitLab.com—restrict use by children.
Discussed at 7:47AlekSIS offers customizable dashboards and timetables, a digital class register for absences and homework, and apps for school libraries and feedback. It can also import timetable data and keep school users and groups synchronized with LDAP.
Discussed at 8:34AlekSIS separates school processes into installable Django apps, so a coding class can build an app for a process at its own school. That lets students use what they learn to make something useful in their everyday environment, rather than only creating throwaway exercises.
Discussed at 12:12They wanted a copyleft license that helps keep contributions open while remaining understandable to a broad range of contributors. The EUPL is OSI-approved, has official translations into EU languages, and includes terms for software-as-a-service use.
Discussed at 15:20The speakers recommend letting children work with real code and see the effect of their changes, such as fixing a small bug in a tool they use. Scratch can be a starting point, but they say even 10- or 11-year-olds can begin writing code; tutorials and projects that can grow with their interest help them continue learning.
Discussed at 24:43The speakers say they have good German-language Python tutorials and online courses in Germany, including resources from BWINF and a translated book. They don’t know how well-supported other languages are, so they suggest creating more learning materials in those languages.
Discussed at 28:12The youngest children in their workshops were six or seven, and the speakers say activities can work at that age. For text-based coding, readiness to read and write matters, but they have seen children just beginning those skills learn a C-like language for LEGO Mindstorms.
Discussed at 30:11Note: We understand that names change, people change, and bodies change. We respect each individual's journey and privacy. If you have any concerns about a video or need us to remove content, please don't hesitate to contact us. We will handle your request with care and promptly address any issues.
Published June 13, 2025
Published June 13, 2025
Published June 13, 2025
Published June 13, 2025
Published June 13, 2025
Published June 13, 2025