Some years ago we have started from scratch in our school IT infrastructure. More Open Source software (OSS) on our servers and clients was the plan. Did it work out? Was it the right way to go? Isn’t Open Source not more expensive in the end? Here is why we switched to Open Source Software.
I’m a teacher in a small international school in Asia. Our IT infrastructure was quit simple and set up and maintained by an IT company in our city. We had an old Windows 2003 server running an AD, some switches, access points, a captive portal and for all of this just one IP subnet. There was also a small computer lab with computers running Windows XP in kiosk mode. If someone needs a new software on this computers or you wanted to install updates, you had to go from one computer to the next because there was no central configuration management. The contract with the IT company was going to end soon and there was no interest to extend it. So we made a plan and set some goals. Here are some of them:
- separate LAN from WLAN traffic
- central user management (we had that already, but Windows Server 2003 needed to be replaced)
- central configuration management (server, clients)
- reduce license costs
- all in all a reliable network (we have power failures here)
The school board instructed me with this, because our IT manager was leaving an the end of the school year and a new was supposed to start some months later. When you want to make such a big change in a school you have to do it in the breaks (especially summer breaks).
When you start to use OSS you have a problem, because there are many options available to solve a problem. Which operation system should I use for the server or clients? And then the question which distribution to use… Which software for user management? What kind of configuration management? What to take for virtualization? And so on. That’s not easy. A lot of research and testing is necessary. One the other hand there are people out there who had to solve very similar problems. So I’ve asked other IT managers in our city who work with OSS solutions or reached out to people on the Internet, read a lot of stuff in forums, blogs and reddit, tested some solutions and finally decided for one. Charlie Reisinger and his love for OSS in schools were a great inspiration for me.
The main part in a school infrastructure are the user management and user authentication. My options were freeIPA, OpenLDAP, Windows Active Directory and Linuxmuster. I’ve tested freeIPA and it looked very promising, plain OpenLDAP was to much work for a summer break, I skip Windows AD, because I was curious if it is possible to run a school completely with OSS.
Linuxmuster is a German software solution for schools, existing for more than 15 years and developed by one of the 16 states to have an easy to use solution for their public schools. It is not know to much outside of Germany. Most of the documentation is in German (although quite some is available in English, too. They also have a English subforum), but the community is really great. I’ve never met such a helpful community where you can ask all kind of question related to school IT.
Linuxmuster is more than just user management. They have have developed a great tool, called LINBO (LInux Network BOot), to manage all workstations in a very easy an convenient way. Basically you set up on workstation like you want to have it, make a master image and deploy it to all other computers. Done. That works really well for linux images, because they work on all kind of different hardware. Currently we have just one Ubuntu image (around 4GB) that we use for all of our school computers. LINBO is able to handle dual boot system, too so e.g. in our computer lab we now run both Ubuntu and Windows 10. Deploying Windows works the same way although the image is much bigger and if you have lots of different hardware you may need several images. And there is a another great feature. Its called “self healing workstations”. When you deploy an image to your computers a copy of the image is stored in a cache partition. So when a student messed up a computer or something else happens, you can press a button in LINBO and the computer is set back to the predefined state. It works offline, too. Thats a really important feature in schools where lots of students use a computer lab.
The nice thing is, that you can automate this whole process. Wouldn’t it be nice if all computers in a lab are “fresh” and in the state you like to have it every morning? No problem, make a cron job, let them wake up (WOL) every morning, check if a new image is available on the server and then sync them. LINBO was actually the main point why I’ve decided for that solution. It’s sad, that it is not known much outside of Germany.
But there are other great features, too. They have a feature called postsync. There you can make changes to an image, after you deployed it. For example you like to have another setup for the teachers computer in the lab or for a computer in the library. You can still use the same linux image, but change some other files after the sync (like desktop shortcuts, configuration files, …). They also have a web interface where teachers and admins can manage the whole product. Teachers can turn on/off the Internet or a web filter for their lessons or a specific group of students. They can distribute and collect files and so much more.
So the important part was done. I’ve set up some other helpful OSS to make the life easier for me and our new IT manager. Here is short list what software we use for our infrastructure:
- pfSense (Firewall)
- Linuxmuster (user and client configuration management, they use SAMBA and OpenLDAP behind the scenes)
- OSTicket (helpdesk)
- Dokuwiki (Wiki)
- OMD/Check_MK (monitoring)
- Ubuntu (main server and client OS)
- XenServer (virtualization)
- XenOrchestra (XenServer management and backup)
A year later
When I look back I have to say that in many many areas it worked out very well. We now have a school network that is easy to manage, reliable and also easy to extend – at no license costs. The great thing about OSS is, that your are able to modify it and adjust it to your needs. We are living in a country where we have to struggle with air pollution every year. So one of our teachers bought a sensor, we set up a raspberry pi to measure the pollution and a student build a nice website to display the data on our monitors in the auditorium or kindergarten. That’s great and I like to have more of that, because there are so many learning possibilities in the nature of OSS. Open Source and schools are a best fit.
Another example. We use Koha for our library and for me it is one of the best OSS projects. It powerful, easy to adjust and easy to use. Our staff love it. In Germany there is an online platform for students where they can answer questions to the books they’ve read (Antolin). Our books have a little crow sticker on the back if a quiz for that book is available on Antolin. With little effort I was able to integrate the little crow in Koha’s OPAC so students and parents immediately see online if the book has a quiz or not (including a link to the quiz).
… isn’t there a downside of using OSS? It’s hard for me to answer this question with a strait yes or no, but there are for sure some things to consider. OSS is normally free, that means you don’t have to pay for licenses and you can adjust the software to your needs. IMHO the cost for OSS are kind of hidden. These hidden costs are e.g. the knowledge how to setup every component and configure it, so everything plays nice together or that it is difficult to find the right IT people who are willing to learn new things and deal with the command line. This is especially difficult in Asia, but luckily we found someone who is able to continue our “open journey”. There are also lots of prejudices from people who are used to windows and don’t like to learn something new. This doesn’t matter much for our students because for all what they do (mostly) they just need a browser. Today the OS isn’t as important as it used to be many years ago.
Was it worth to set almost 100% on OSS? For me I can answer this question with a clear “Yes”! We saved several thousands dollar this year a alone and can invest this money in good hardware or other things we were not able to buy before. The biggest issue in my view is to find the right passionate people to administrate and further develop an school infrastructure that runs with OSS only. Luckily we found one.
Are you using OSS in your company/school? What are your experiences? Where do you see the main (dis)advantages of using OSS?