ownCloud is a file sync and share server. It lets you create and store files, folders, photo galleries, and contacts to this service and keep them synchronized amongst your devices. Teachers can keep and share lectures, make notes and even create and collaborate on rich text documents together with students using ownCloud Documents app, store all the necessary contact information including email, phone and address with ownCloud Contacts, create a class schedule and share it with students to access them from any device at any time with ownCloud Calendar.
ownCloud is distributed under GNU AGPL v.3. It runs on Linux-like operating systems. The source code is listed on GitHub.