We are happy to announce that Stremio is going completely open-source. Read on to find out more.
What is stremio-core
Stremio-core is a project to create a code library that contains all the common logic between Stremio apps: the addon system, integration with our API, library/notifications and others.
It will allow us (and others, more on that later!) to develop Stremio faster and with less bugs, because of the shared code between all apps. It can also enable porting Stremio to new platforms more easily.
Embracing Rust
Since stremio-core has to be portable and correct (as bugless as possible), we’ve chosen Rust for the job.
Rust is a modern programming language started by Mozilla, describing itself as a language empowering everyone to build reliable and efficient software.
Rust is gaining popularity very quickly, and it’s been voted “the most loved programming language” by Stack Overflow for a third year in a row.
But why is it a good fit for us? We’ve always used JavaScript for most of Stremio. Why? Cause JavaScript is expressive enough to allow quick development, and is very portable: it’s used on the web, on servers with nodeJS, and even on iOS/Android with React Native. Well, Rust is even more portable, and more expressive, but it’s very different to JS in a good way: it’s strongly typed. This allows us to develop and refactor software without that much fear of breaking things.
Open-source everything!
At Stremio, we’re huge fans of open-source software. We currently have over 40 public repositories on GitHub, which include the addon SDK (stremio-addon-sdk), multiple core libraries (stremio-aggregators, stremio-addon-client, etc.), example addons and many more. You can even use stremio-shell to build Stremio for platforms we don’t officially support (for example, 32bit Linux or Raspberry Pi).
Stremio-core will be open-source too, and licensed under the permissive MIT license. This will open up many possibilities, including community maintained apps for Android TV, Xbox, Playstation, Raspberry Pi, etc.
Other than stremio-core, we will also open-source a new web UI, stremio-web, built using React and stremio-core. It will enable connecting Stremio to your own local streaming server so you can enjoy your favorite content in the browser.
Both stremio-core and stremio-web will be made available on GitHub by the end of 2019!
What does this mean for development?
As you already know, Stremio is extremely flexible: it’s content can be pretty much anything that the addons deliver. The latest addon competition implemented use cases that were beyond our imagination (e.g. books, news).
This means it’s also extremely complicated. It took us a while to finalize a lot of specifications on how Stremio should work in detail. This is why stremio-core is a long term investment: we’ve been busy with crystallizing the inner workings of Stremio over the last year, in order to:
- be able to easily port Stremio to other platforms; and
- be able to develop new features easily without fear of breaking something.
That said, we still have another few months of development time before being able to use stremio-core in all our apps.
Thank you for addressing my biggest concern with Stremio.
Very well done!
Awesome! Good job
Great to know that! I would very much like the stremio to have more filters as per year. option to add external subtitles with button dedicated to this, option to change the colors, as popcorn time does. And option for all the content we watch, disappear from the list or get dark. Synchronizing with the show’s TV show list with login would be great too!
Thank you Team Stremio!