- Fixing bugs on our open source repositories
- Adding questions/comments about how to get started building with our open source repositories
- Participating in discussions about work with copies (forks) of the open source repositories
What's an Open Source Project?
When coding a project in the greater community of software developers, open source refers to coding something that anyone has free access to, like Scratch projects. This means you can of course grab a copy of our open source repository and build with it however you'd like to!
Open source repositories can be collaborative though, and usually have a small group of people who spend a lot of time working on them and maintaining them. While each one is worked on collaboratively by a small group of people – the Scratch Team – we still highly encourage, and really want contributions to them from the community.
At Scratch, we have a couple of different open source repositories. While the Scratch Team are the only people who can create new features for the repositories at this point, we do accept bug fixes and bug reports from the community.
What can we use this forum for?
To ask pretty much any questions and comments you might have about any of our open source projects .
Having trouble getting a copy of the project and working with it on your own computer? Ask about it in the forum!
Working on something in your own copy that you need help with, or want to work on someone else with? Ask someone in the forum!
We really want this to be a place where we all come together not only to build and talk with Scratch, but to build Scratch itself.
Here's a list of all of our current open source projects:
- Scratch Blocks – a fork of Google's Blockly project. Together with the Scratch Virtual Machine (VM) this codebase allows for the rapid design and development of visual programming interfaces. This is still in development, and will be a part of the next generation of Scratch which we informally call “Scratch 3.0”.
- Scratch Virtual Machine – a library for representing, running, and maintaining the state of scripts written using Scratch Blocks.
- Scratch WWW – the new user interface for the Scratch website (including the recently updated Scratch Homepage) and where all of our ongoing updates to the website design will go.
- ScratchX – the code for the ScratchX website, which is a separate experimental platform built to test experimental Scratch features, also known as Experimental Extensions. There is no login or community component to ScratchX, and projects created within ScratchX can only be run on ScratchX.
- Scratch REST API – the documentation on how you can access Scratch data programmatically, outside of the Scratch website interface. Props to @liam48D for starting their own documentation before we released the API too!
- Scratch Parser – A Node.js module that parses and validates Scratch projects.