So, hello everyone. Welcome to my talk. How could open source invocation and education work?
And it's already marked with a question mark because, sadly, I don't have all the answers,
but it's also an invitation for discussion and ideas. For everybody who isn't aware
vocation and education means that those people have already finished normally school,
like a secondary school, but they are not going to university, they're doing an education
in combination of a school part and a part of the company and it's in Germany,
quite a traditional system. As well in Austria and also in many other areas,
and I think we should be aware more there because the reasons I will just give you
in some seconds. So, I will talk a little bit about who am I, so that you understand my background
and what motivates me and also what are my resources for that and so on. So, trust that you get
a feeling so what is the setting and for the same reason I will also talk a little bit about
who are the apprentices or who is our target group. So, who do we want to reach here?
Yeah, right matters. Besides the obvious reason why it always matters, maybe some
more specific reason why I think it matters for this target group. Yeah, then a little bit of a
more generic part where could we now use open source from an high level perspective and then
I want to finish up with some concrete examples. So, who am I? Yeah, this is now a company
slide but why I have already included it? Because it tells you hey, I work at a company, meaning
I do the education while I work my company job and many companies to be grind owners,
they are on the way to trying to be more resource, but they are not there yet. So,
for we don't just like the preferred infrastructure, not everybody works at a company that was
founded with open source. So, you are somewhere in between and you are on the way. So, maybe
you have not the preferred set up from the beginning, but you are trying to get there. So,
this is the background basically. Me personally, I have used open source of my kind of
always because my father used it, but that's not true for everybody who is doing an apprenticeship
as well, right? So, I need to take that one on that count. I also studied computer science,
that is also not true if you do vocational education. So, I need to consider that one as well.
So, not to apply my own biases there. I came more into us as there, like actively being more
aware and contributing as well. I personally also, you mostly work for a better little
institutions, meaning, okay, this is where I have my knowledge and I can teach more.
There I am also working at the moment, my company elect a bit, but in this company I also take care
of our apprentices and this brings it all together a little bit my open source background and
the apprenticeship background. So, two different directions and now the questions, hey, I want to
teach them, can I just teach them the same way? I was thought, probably not, that will not work.
So, who are they now? Who are we talking about? So, first of all, how many learn computer science
bio vocational education? Those are German numbers, but those are the numbers I have available and
I know that in Austria and in other countries, it's looking for a page of
proportionally with the amount of people living there in a similar direction. But those are numbers
and here you see that for example, in 2022, more than 40,000 people were in vocational education
and this normally takes like three years. So, if you think okay, every year, she is around 50
this sums up if you have ever seen years 50K and it also trends arising. So, maybe in 30 years
you have half a million people and you're teaching them something. Respect to computer science
and they are neither in high school, nor in universities. So, of those people normally, you have a
one to 10 relationship between male and female, maybe something to also consider where to improve
it also to consider how to chose your topics. So, what is the education background normally?
So, normally they have something that is equivalent to the A levels that's half of them or
most of them finished like 10 years of schooling and then got the diploma there. You have some
that are basically not graduated, but that is minor number. So, all around this makes them to 15
to 19 years old. So, not like 12 year olds, but also not like 25. But it also means when you
take a look at the education background that you cannot expect them to be perfect English,
that you can expect more or less English, maybe very little, that you cannot expect them to be
too self-reliant to self-organized. But it also means you cannot expect them to
behave like 12 year olds or to behave like primary school students. So, you somehow
in the middle of all that. And to be honest, I think the middle of all that is an overlap area.
We have and I would give more examples about that later. So, so, what do you think? Those people,
if you ask them when they start their learnings, what do you think? How many of them know
what open source is? Maybe just race one finger per 10%. So, 10% would be one finger. How many
do you think would know? So, we have 10%, 20% know, 10%, 20%, 30, 30, 0. Okay, that's not so deep.
It back as it is, you see, I've asked around and half of them actually know or think they know.
Next question is, can you name an open source nice and thin? Can you make it more concrete?
Let's try again the same exercise. Yeah, you know, it's it's it's it's about 75% I
plus or minus I always plus or minus 2% okay, but last question, you think you can
name an open source nice and 25% still think, yeah, hey, I can name this and this one and then he
example, it says okay, am I T for example, and then you ask them yeah and
anyone, do you know what does this imply them? What what what is this implying them?
And how many do you think that know? 10, 0, 10, 10, 0. Okay, I had found one who knew and this
and 2, 2, 2 because I always around the upper down, I gave 95% to be honest it's 99,
but yeah, because if there's a T on 5 so they have some some some some
they have some feeling that it exists half of them, but it's rather unconquered.
Um, so already they're in no more, okay, so this is who you're talking about, but why doesn't
know matter? Hey, consider you are starting new a chop in a company and you're going there for a
stage, you've got a company device, you're putting it for the first time and you see oh,
that's a Windows laptop, you take it, you see okay, no props, hey, I'll go to the IT department
because I want to follow the rules, it's a new company and so on and he's like hey, could I have
or maybe maybe wouldn't be possible to have any Linux distribution instead and you can get this answer
or you can get a excuse me what? No, I think this is why it matters for example, so it matters
for us also because hey, they will be future IT specialists and of those roles in the IT department
and so the design of such topics are filled with people who did vocational education, so what you
teach them about it is relevant because they will make decisions like what operating system to use,
how is your server infrastructure looking and so on, it's often chosen by people
with such a kind of background, so what do you want to use? Well, the people who are deciding that
let's see what background they have and then hey, maybe I try to teach them something,
well, we have access to open source, education resources, this is as in always an open source
great to share with other, we can save time, it makes them more independent because I don't know
everything, I've told you before, I have an embedded little speck out but maybe want to specialise
in something widely different, how should I ever teach that? I don't have the knowledge,
would it not be great to use a resource there that teaches them that and yeah,
in the end hey, that's our trust other contributing IT guys in the future,
why should we be left with them out? It's the same as for a whip out there, right? So why does it
matter now from then? So have you ever programmed something, it was a closed source AP and you
have really hated it? You have not found any, I'm going to leave the description, you saw
there's a weird back and there was no progress at all and you were like frustrating,
why is this not working? I see a green face, how much fun do you have? I don't let you estimate
because I know it's like that, zero, how much do you think you learned by you have that, zero fun?
Let you don't have fun with closed source AP, maybe you have learned, but what I want to say is
while fun is not needed to learn something, you can also learn through pain. It makes learning
in a more self-positive, the influence exerted. If you can't share and learn in a collaborative way,
you feel empowered because you have all the information, you can be creative, we're just
seeing before creative shapes, for example, you also have a sense of responsibility because you
can fight the things yourself and you feel independent and then, and lastly, you're also
preparing for the future of work because if you're a team person who doesn't know anything about
open source yet, well, you're probably in the wrong job, so I think that's a, itself,
positively influencing, psychophilic for them, also to learn from adverse open source.
Okay, we have, I would say we have three main areas where they now could use open source.
We can enable them to use it as users, so we can say, okay, well, they're getting an
development client that is coming with an open source MOS, with an open source.
Mail client with all of the basic equipment, the basic environment that they can use as users.
We have the situation that they can use, of course, open source resources for learning, learning
what open source is because, as we saw before, there's some need. But lastly, and those
education takes three years, three years, I think we should also encourage them to become
country builders, not just consumers. If you learned computer science for three years,
there should be the possibility also to contribute, not just to learn and to consume here.
So for users, okay, we need to enable them, if we don't provide them any way shape or form to use
in a compliant or company, a brief way open source, they cannot do it. As 16-year-old will not
just do it on his own. We need to do that, we need to enable them, and we need to ensure them that they
have that. For learners, I think it's a little bit of a challenge to find the fitting resources.
This challenge is still widely open, I would say, and for contributing, it's how to enable them,
you cannot expect them to just do it out of their own. Now for learning, yeah, so there is a curriculum,
and it's telling basically, always, yeah, well, teach what open source is, teach about licenses,
otherwise there's nothing there. But nobody says we cannot use open source material for teaching.
So nobody forbid source as well, right? So that's no matter. So for teaching what open sources,
and teach about licenses, I or I'm a like to say, yeah, okay, we can teach them as normal
university students. They're the same plus or take two years age group, but make it a little bit
more engaging, make it a little bit more beginner-friendly. Why not start with a game, and maybe
I've seen it already, and it's not from me, but it's from the Open Culture Foundation.
There, there was a stand, also in the other, I think, at the K-Pelding, and they have a great
game for example that explains it's very nicely what open source, that open source ecosystems.
So always, a good idea, hey, can I teach it as I would teach normal university-state students
and add something on it? The link there is to the game where you can print it as well.
So then, how could we maybe use it for learning programming? And there, I have a really,
there I see a big gap to be quite honest, because I mean, we have nice stuff like scratch,
so this is your programming language, and to be, and I think it's not for their appropriate age group.
I know that you can do great things with it, but especially 15 to 19-year-old, they feel like adults,
and sorry it has a kid-like aesthetic, it's out of aesthetic reasons for them. It will not work,
and they feel not taking seriously. You need to take them more seriously, otherwise they will think,
okay, I'm sorry what I'm doing here. It's Will Not Work. What works, okay, is stuff like
Haiti for the first years, for the first few weeks, but it's not going too much in that.
Then there's a bunch of open source materials for university students, and that's normally too
challenging, also because it's normally in English and we have to be like what's peria.
It's only for very, very talented apprentices, so that wouldn't be the norm.
And besides of all those visual programming languages are existing there, of course,
more than just programming knowledge needed to become an IT specialist, so sadly, I think those materials
are all not really a fit, or are only a very part of it or not.
So how could they, and I come then later to my concrete examples, how could we enable
contributions? Well, as was everything, we need to answer the question, how can I do it?
Where can I do it? What can I do that? And how do I have to be afraid to speak to strangers?
How that could look, I'll give a kind of concrete example in just a few minutes.
So, how to enable contribution? Well, how, yeah, okay, well, teach them as normal, teach them
if needed for completing to open a public rest, but do it hand by hand, just literally sit next
to them on the desk. If they are afraid, yeah, well, practice internally.
Let them do a contribution to any internal code in the same fashion, but also practice externally.
For example, there's a first contributions on GitHub, where you can just add your name to a
file and raise up your eyes. It's nothing, but then they have already done this process like once,
and it's accepted there. It seems like nothing, but it is helpful. Where, yeah, well,
maybe your own open source of there could be a great first choice, because then you are the
maintainer, and they're not afraid hopefully of you. Otherwise, of course, always very interested.
In principle, of course, what you're starting small, spelling, small bugs, but there's also
something they need to do just as university students are final thesis. This is always also
something where a bigger open source contribution could be an option. Now are two concrete examples.
First, I complete example for teaching here GitHub. So normally, I like to start with seeing
it in German, it's called 500, but it's basically a technical presentation. You introduce a topic,
you get background information, you explain a topic, you should give it yourself,
recording small work, you should give it yourself, and in person. There, of course,
we can use open source, we just use an open source presentation. I mean, that's tons out there.
Then you could, for example, continue a good with a game, forget there are two nice examples here,
and they can then just use maybe the rest of the day after the presentation to play around
a little bit, then I normally like to add a practice session, either you find online already,
some good material, or you need to come up with something yourself there. It depends, but
you can always try to find something, already, or create something for others to use in future.
And lastly, we have, well, you need to use it, of course, you'll find knowledge,
there I always would recommend to provide further resources. So in the Git example, you could, of
course, provide the Git book, or any other additional material. And yes, you need to provide
the references and the material where they can learn more, because searching online and finding
the right search terms is hard. It's hard if you don't know what you're looking for.
Spend it really out, make it as explicit as possible. And now, lastly, how could I
concrete a plan to contribute to open source now look? So this is a rough plan for a practice
we're doing a final thesis to an open source project we have. I expect that the
contribution will be around give or take a thousand lines, see plus plus code. So a little bit,
I would say it's not little, not too much, but still, I would say a nice,
size contribution. So first of all, I have pleaded it here to you at a little bit of a timeline,
you have initiate versus hat. We start, of course, first, with a topic, so what do you
really want to contribute? There you should at least initiate the idea of finding process,
either then there is an idea already, or you can also just give the topic. If you have
something nice, something doable in mind, and it should be relevant. It shouldn't be just like
some code that will never be used. You should give the topic where they have the feeling,
hey, others will use it and it's cool so that they can also be motivated in future then.
Then one to have a topic, the first step is of course to help them with the environment, and so on,
to building the software to test it to play around a little bit with them. And then,
my next step was to introduce to the maintainers. Even before any work started,
there, of course, it's ideal if you know the maintainer, so that he's just a call away.
It was not an internal maintainer, but I know he knows the less, so we was just a call away,
and I could set up a meeting. Like, hey, here, he would like to make a contribution.
This is the topic, and then there's already some kind of less reason to be afraid because
you talked and you saw, hey, the other person's there wasn't humans, hopefully.
Then once you have that done, I would give some time so that my concept can be written,
and also then discussed with the upstream maintainers. Then, gradually as you know,
what you were so far, give time to implement some sub parts, give feedback also some internally
and then what's all the sub parts like that, and all the feedback is addressed,
you can raise your, get sent mail, you can raise your PR, and then you're there,
the contribution is in process. Then, of course, any review comments and so on,
where how this needed, you go over them instead. You don't let them answer,
there are only if they need your help, but with that contributions are more lengthy,
but I mean, I think a first contribution is always more lengthy, and of course,
not all the steps will always be needed, but then next contribution could be more independent,
and a third contribution maybe, and completely independent from my head already.
And that already were, was my presentation, and I see times also,
one minute is left, one question more.
Sorry, come again.
Is there a vocational education in development?
Yes, yes, and not only in Germany, also in other European countries, yes.
There exists, and I think many people don't know, and this is why I decided to give the stock,
and then this is the student report.
Yes?
Yeah, more comments, but I look at the sub-guest today for the UK, for level two, level three instead of University,
and you can learn programming languages, but I can't find anything about this is for open source,
this is to learn about open source. Yes, and that's the idea of what card enough,
I've looked now three years, and there's not much out there, and I think this is really a gap,
because we are looking so much at younger children, and then again at university students,
and I think it's also a little bit of a mindset problem that we only can imagine that people
out from universities are doing computer science related job, and that's just wrong.
That's not the reality.
Yes?
I'm also out of the source, so I'm sort of making a scene, you're not indicated in the structure,
do you know, it's in, it's in the job skills, so I think it's obviously because it's a good way,
for all the ages of the children to run code, the activity apps, and the PR,
you can do it with the working PR classes, so I'm like to see it in the structure also,
I don't know it personally, and if it is Javascript based, so here, the question was,
if Smith's known, it's a Javascript based, yeah, and while I don't know it,
I would look into it, I think that we also need to teach more than just Javascript based
language, which I've mentioned before, that I work for embedded Linux distribution,
only teaching them Javascript will not make them fit for the job.
Yeah, but I work, okay, I understand your point, but I'm working for embedded Linux distribution,
this involves, for example, bought, bring up, hard-wapping up, stuff in sea, and so on, sorry,
maybe it's, and also I work together to do that in the creation training, so I'm in generally
the application training, the structure, the company part is good part, so they have a fixed part,
and then you want to learn it, and then they have a company part where you learn specific,
on the job in the job, yeah, so in our case, we are more focused on embedded Linux,
I mean they're also not quite in, when they are in the AI company, they are learning Javascript,
I know that they have also, Javascript has started in school, but as a company, we have not
to be exhausted, and we are not, our goal is not to teach them Javascript, because we want
them to be too, you know, you have not, you have not, so that they will fit in the AI
to our needs, and this is the goal from the creation and training, but they have to
Javascript are, for that they can also go to another company, then they can move away,
they can learn that stuff, so that they are not all to a company that's, so for your understanding
well, yeah, and I get your point, and I don't want to dismiss it, and learning a programming language
in an open source way of fashion is cool, but I think, and I teach specialist, it's more than
just knowing one programming language, you also need to echo systems, the method of the tools,
and so on, so therefore I think we have to at least get there, and I invite everyone to
think about that further, and I think we need to have more ideas, and instead, my time is
certainly up, I thank you all, and I wish you on the next talk.