an experiment to create a community-driven language-learning platform
Start learning! β’ Chat with us! β’ Become a contributor! β’ Why I built LibreLingo β’ Good first issues!
My goal is to start a community-driven language-learning platform that gives its users and contributors a way to influence its future and adapt it to special requirements.
To achieve that, I release all source code under the AGPLv3 free software license, which guarantees end users the freedom to run, study, share, and modify the software.
In addition to licensing the software under a free software license, the course content will be decoupled from the software itself, and the development of AGPLv3 or public domain course content will be encouraged. This should allow course developers to retain the freedom to choose how they use their work.
Once course content is properly decoupled from the software, it should be possible to experiment with alternative ways of using course content: for example, the creation of audiobooks or print material.
Here's a rough sketch of how I imagine the milestones of this project:
- βοΈ Demo course content in Spanish for English speakers
- βοΈ Some basic building blocks of course content implemented
- βοΈ Developers can use course editor
- βοΈ Basic theme/branding
- βοΈ Course progress can be properly synchronised across devices
- βοΈ Course editor can be accessed by all course contributors
- β Statistics about course contributors are collected and published
- βοΈ At least the basics of the Spanish course are ready
- βοΈ Most of the course building blocks are implemented
- βοΈ All of the basic building blocks of courses are implemented
- β More advanced learning features (reading exercises)
- βοΈ Spaced repetition implemented
- β Spanish course is stable and useful
- β Course editor publicly accessible
- β Any user can build their own course
- β Users can suggest changes to course content
- β There's a marketplace for "unofficial" courses
- β Multiple stable courses available
- β Mobile apps available
- β Wiki features
- β Dictionary
- β Speaking exercises
If you are interested in contributing to course development, please fill the following form: https://danielkantor196881.typeform.com/to/V00Paz. The project is in a very early stage right now, so you might not be able to contribute right away. Your work will be released in this GitHub repository and you will show up as a contributor here.
You can help LibreLingo by testing it and submitting feature requests or bug reports: https://github.com/kantord/LibreLingo/issues/new. If you want to get in touch, you can use my contact details on my GitHub profile.
There is a Matrix/FreeNode IRC channel #LibreLingo
, instructions for joining:
- Matrix:
#LibreLingo
onmatrix.org
- IRC: connect to
irc.freenode.net
with your favourite client and join#LibreLingo
β | Web app/PWA | Course editor |
---|---|---|
Frontend | Svelte | Django Admin* |
Backend | CouchDB |
* Djando Admin might be replaced in the future
Testing is done using Jest and Cypress. Other technology in use include: bulma, webpack, etc.
LibreLingo is licensed under the AGPL-3.0 License. Course content and other creative content might be licensed under other licenses, such as CC.
This image shows a summary of the licensing of our dependencies:
Mascot images are released under Creative Commons Attribution-ShareAlike 4.0 International License.
The mascot is designed by @almostdesigner.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!