Discuss Scratch
- Discussion Forums
- » Open Source Projects
- » Unofficial Guide to Scratch Private-Source Projects
- _nix
- Scratcher
1000+ posts
Unofficial Guide to Scratch Private-Source Projects
Here's the topic of uncertain helpful-ness listing various private LLK Scratch repositories! Wonderful.
(I'll likely only use this as a log for myself. I didn't have a log before this. Also, if anybody can remember the other repositories – since I recall there being more than these few – that would be appreciated )
Obligatory glossary:
Here's a list of some of LLK's current (or not) private-source projects:
(I'll likely only use this as a log for myself. I didn't have a log before this. Also, if anybody can remember the other repositories – since I recall there being more than these few – that would be appreciated )
Obligatory glossary:
- Migrated page: any page on the Scratch website that used to exist in the site we know from the (current) era of 2.0 but is now migrated into the new scratch-www codebase.
Here's a list of some of LLK's current (or not) private-source projects:
- scratch-ops
jwzimmer wrote: scratch-ops is the repo where we track things that have to do with keeping the site up & running as smoothly as we can. I put some things about compatibility/ support there since I didn't think they really made sense in the other repos (it's sort of a “meta” question whereas e.g. scratch-flash has to do with the editor & scratch-www has to do with the website pages, and support/ compatibility needed to bridge both).
- scratch-android – Presumably the code which compiles into a work-in-progress Android app.
- scratch-api – The backend for various things Scratch. Maybe it's the backend primarily used by migrated pages?
- scratch-projects – The backend interface for storing project JSON files.
colbygk wrote: The scratch-projects repository and software is our interface for storing project JSON files to our backend storage system. We have no current plans for open sourcing this and I think it's unlikely we will make any documentation updates before or immediately after the Scratch 3.0 release in January 2019.
- scratch-assets – The backend interface for accessing Scratch asset files (pictures, sounds, etc).
- scratch-libgen – The utility which generates the asset library files used in 3.0 (and potentially 2.0).
- scratch-search – The backend for Scratch's search bar functionality.
- scratchday – Presumably the code for day.scratch.mit.edu.
chrisgarrity wrote: I added these to the scratchday site recently https://github.com/LLK/scratchday/blob/master/scratchday/scratchday/static/img/social-icon_sprite.png
- scratch-translate-extension-languages – Supporting code for the (Google) Translate extension in Scratch 3.0. It's actually public on NPM, so its source code is accessible too.
- scratch-media-libs – Apparent GitHub repository for keeping track of the media (sprite/costume/sound) libraries in Scratch 2.0. The contents of this repository are included in the Scratch 2.0 offline editor's internal files. They're basically analogous to scratch-gui/src/lib/libraries in Scratch 3.0.
- scratchr2 – The source code for the website brought with Scratch 2.0. (R2 stands for “repository 2” – there used to be an old ScratchR repository for the first site as well; see also andresmh's PhD dissertation.) It contains the code for just about everything you'll find in non-migrated pages, like user and project pages, currently. It probably also contains the code for the backend of various features, like comments on projects and profiles, studio management, and such. Fun fact: scratchr2 has over 4700 pull requests and issues!
thisandagain wrote: It is a big monolithic (and also now legacy) codebase that is very tightly tied to our old moderation systems as well as our infrastructure. Because of this, MIT was not comfortable granting us permission to open source the codebase. For everything new we work on, we try to have the code be much more modular which makes it much easier to open source / get approved by MIT's lawyers.
- scratch-flash-online – Code specific to the online Scratch 2.0 editor (probably containing things like the username block, cloud data, and the backpack).
- scratch-flash-offline – Code specific to the offline Scratch 2.0 editor. I'm not 100% sure what would go here; maybe the code for the old HTTP-based extensions?
- scratch-msi – Houses the gh-pages site and downloads for the community-made Scratch MSI installer, and potentially the source code for it as well.
Last edited by _nix (Feb. 26, 2020 20:07:25)
══ trans autistic lesbian enbydoggirls // 16 17 18 19 20, she/they ════
sparrows one word to the paragraph // <3 // ~(quasar) nebula
- _nix
- Scratcher
1000+ posts
Unofficial Guide to Scratch Private-Source Projects
I sent an email through Contact Us asking about the purpose of scratch-api being a private repository; here was the response, for anybody curious:
Edit July 27 2021:
Since this is the reference most people use for the reasons behind leaving the backend code private, here's an addendum comment written today by backend ST dev @codubee:
Our backend code is private for a number of reasons:
- It is tied very closely to our backend infrastructure which for reasons of scale is fairly large and complex. Because of this, open sourcing our backend code wouldn't just mean publishing `scratch-api` but also nearly 20 other repos that support it (otherwise it would be useless). With that and the scale of our hardware it isn't something that any single engineer could just put on a server and run.
- The API and related repos contain our search, explore, front-page, and other relevance algorithms that govern how content discovery works. While part of me would really like to release this info to the community it does present a fairly great risk of helping Scratchers “game” the algorithm and cheat the community.
- The API and related repos contain all of the information about how we automatically filter and moderate content. Sharing this information would make it easier for spammers and trolls to attack the community.
- This is a terrible reason: The API and related repos include some technology that MIT would prefer that we not disclose because they are interested in patenting it. This is a really bummer as I am strongly opposed to software patents of any kind, but until we resolve this issue we cannot even consider releasing the code.
I am a huge advocate of OSS (I was the Director of Research at the Mozilla Foundation before joining MIT) and have been pushing us to release more and more, but we have to balance the needs of the community. Hope that helps clarify!
- Andrew (thisandagain)
Edit July 27 2021:
Since this is the reference most people use for the reasons behind leaving the backend code private, here's an addendum comment written today by backend ST dev @codubee:
This makes sense because the details about MIT patenting is from four years ago and Scratch has moved towards being Andrew/thisandagain's response still holds true today, with the exception of MIT asking that we hold it back. That is no longer a worry for us.its own organization within these last few years; codubee's comment probably isn't new news either, but I figured I'd stick the latest official word here where it's convenient!
Last edited by _nix (July 28, 2021 02:33:01)
══ trans autistic lesbian enbydoggirls // 16 17 18 19 20, she/they ════
sparrows one word to the paragraph // <3 // ~(quasar) nebula
- Jonathan50
- Scratcher
1000+ posts
Unofficial Guide to Scratch Private-Source Projects
I think none of those except the last two can really be called “closed source” because they aren't public yet
Not yet a Knight of the Mu Calculus.
- _nix
- Scratcher
1000+ posts
Unofficial Guide to Scratch Private-Source Projects
That's fair, updated. I think none of those except the last two can really be called “closed source” because they aren't public yet
══ trans autistic lesbian enbydoggirls // 16 17 18 19 20, she/they ════
sparrows one word to the paragraph // <3 // ~(quasar) nebula
- _nix
- Scratcher
1000+ posts
Unofficial Guide to Scratch Private-Source Projects
Just a quick bump since this is probably an interesting topic to anyone viewing /discuss/49/, and I updated the list (I added scratch-projects).
══ trans autistic lesbian enbydoggirls // 16 17 18 19 20, she/they ════
sparrows one word to the paragraph // <3 // ~(quasar) nebula
- _nix
- Scratcher
1000+ posts
Unofficial Guide to Scratch Private-Source Projects
Bump, added an interesting quote from thisandagain:
thisandagain wrote: [scratchr2] is a big monolithic (and also now legacy) codebase that is very tightly tied to our old moderation systems as well as our infrastructure. Because of this, MIT was not comfortable granting us permission to open source the codebase. For everything new we work on, we try to have the code be much more modular which makes it much easier to open source / get approved by MIT's lawyers.
Last edited by _nix (Sept. 12, 2018 16:10:55)
══ trans autistic lesbian enbydoggirls // 16 17 18 19 20, she/they ════
sparrows one word to the paragraph // <3 // ~(quasar) nebula
- apple502j
- Scratcher
1000+ posts
Unofficial Guide to Scratch Private-Source Projects
You should remove scratch-desktop and scratch-link. It's open now.
- scratch-translate-extension-languages – npm package that scratch-vm depends on. GitHub is private, but you can obtain source code.
署名は、ディスカッションフォーラムの機能である。署名は、その人のすべての投稿の下部に追加される。署名は、BBCodeで記述できる。 署名を追加/変更/削除したい場合は、ディスカッションフォーラムのホームの一番下に行き、「Change your signature」を押す。署名の大きさは150pxまでである。これには、改行、画像を含む。- Japanese Scratch-Wiki 「署名」
- _nix
- Scratcher
1000+ posts
Unofficial Guide to Scratch Private-Source Projects
Thanks, updated! You should remove scratch-desktop and scratch-link. It's open now.
- scratch-translate-extension-languages – npm package that scratch-vm depends on. GitHub is private, but you can obtain source code.
══ trans autistic lesbian enbydoggirls // 16 17 18 19 20, she/they ════
sparrows one word to the paragraph // <3 // ~(quasar) nebula
- apple502j
- Scratcher
1000+ posts
Unofficial Guide to Scratch Private-Source Projects
Scratch 2.0 Offline Editor /media/.gitmodules say:
(And there is “libs” folder there, yeah, it was secretly open source!)
https://github.com/apple502j/why-is-it-private-again
[submodule "libs"]
path = libs
url = git@github.com:LLK/scratch-media-libs.git
https://github.com/apple502j/why-is-it-private-again
署名は、ディスカッションフォーラムの機能である。署名は、その人のすべての投稿の下部に追加される。署名は、BBCodeで記述できる。 署名を追加/変更/削除したい場合は、ディスカッションフォーラムのホームの一番下に行き、「Change your signature」を押す。署名の大きさは150pxまでである。これには、改行、画像を含む。- Japanese Scratch-Wiki 「署名」
- _nix
- Scratcher
1000+ posts
Unofficial Guide to Scratch Private-Source Projects
Whoa, neat! Updated to include that as well! Scratch 2.0 Offline Editor /media/.gitmodules say:(And there is “libs” folder there, yeah, it was secretly open source!)[submodule "libs"]
path = libs
url = git@github.com:LLK/scratch-media-libs.git
https://github.com/apple502j/why-is-it-private-again
══ trans autistic lesbian enbydoggirls // 16 17 18 19 20, she/they ════
sparrows one word to the paragraph // <3 // ~(quasar) nebula
- apple502j
- Scratcher
1000+ posts
Unofficial Guide to Scratch Private-Source Projects
scratch-msi gh-pages say all.
署名は、ディスカッションフォーラムの機能である。署名は、その人のすべての投稿の下部に追加される。署名は、BBCodeで記述できる。 署名を追加/変更/削除したい場合は、ディスカッションフォーラムのホームの一番下に行き、「Change your signature」を押す。署名の大きさは150pxまでである。これには、改行、画像を含む。- Japanese Scratch-Wiki 「署名」
- _nix
- Scratcher
1000+ posts
Unofficial Guide to Scratch Private-Source Projects
scratch-msi gh-pages say all.Thanks! Added.
══ trans autistic lesbian enbydoggirls // 16 17 18 19 20, she/they ════
sparrows one word to the paragraph // <3 // ~(quasar) nebula
- medixocentre
- New to Scratch
1 post
Unofficial Guide to Scratch Private-Source Projects
Nice & keep it up…
Medixo Centre
Medixo Centre
- _nix
- Scratcher
1000+ posts
Unofficial Guide to Scratch Private-Source Projects
scratch-android See LLK/scratch-gui#4976Awesome, thanks!
══ trans autistic lesbian enbydoggirls // 16 17 18 19 20, she/they ════
sparrows one word to the paragraph // <3 // ~(quasar) nebula
- _nix
- Scratcher
1000+ posts
Unofficial Guide to Scratch Private-Source Projects
updated with some new details! scratch-libgen & scratchr2 tweaks, mainly. _10mil_
══ trans autistic lesbian enbydoggirls // 16 17 18 19 20, she/they ════
sparrows one word to the paragraph // <3 // ~(quasar) nebula
- R4356th
- Scratcher
1000+ posts
Unofficial Guide to Scratch Private-Source Projects
Great!
Q/A Regarding the Suggestions Category & Why Some Suggestions Got Rejected
List of Scratch Modifications And Other Block-Based Programming Languages
Useful Converters to Help You With Conversion
Workarounds for Blocks Scratch Does Not Have
Scratch Translator SDS Translator Scratch Wiki Editor(Test (English and Bengali)& English) Writer1000+ posts
The Scratch Movie Collaboration Thread Glitchy Scratch
- GuineaGod
- Scratcher
500+ posts
Unofficial Guide to Scratch Private-Source Projects
This is good, a little confusing but good.
when I receive [ Thanks!]
say [I needed this!]
GuineaGod
Advanced coder ll Helper ll Platformer Expert ll
Bug Expert ll My stats ll Profile ll My Projects ll
- --Explosion--
- Scratcher
1000+ posts
Unofficial Guide to Scratch Private-Source Projects
The link to the .png file for Scratch Day is broken.
- _nix
- Scratcher
1000+ posts
Unofficial Guide to Scratch Private-Source Projects
i thiiiink there isnt really any way to access that file anymore, unfortunately! im leaving the quote there but yeah, its a shame :P i tried to browse the repository files at points in the past but i couldnt find it anywhere. The link to the .png file for Scratch Day is broken.
Last edited by _nix (April 27, 2020 19:32:31)
══ trans autistic lesbian enbydoggirls // 16 17 18 19 20, she/they ════
sparrows one word to the paragraph // <3 // ~(quasar) nebula
- Discussion Forums
- » Open Source Projects
- » Unofficial Guide to Scratch Private-Source Projects