Discuss Scratch

_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:
  • 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:

thisandagain wrote:

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:

codubee wrote:

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.
This makes sense because the details about MIT patenting is from four years ago and Scratch has moved towards being 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

Jonathan50 wrote:

I think none of those except the last two can really be called “closed source” because they aren't public yet
That's fair, updated.

══ 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.



署名は、ディスカッションフォーラムの機能である。署名は、その人のすべての投稿の下部に追加される。署名は、BBCodeで記述できる。 署名を追加/変更/削除したい場合は、ディスカッションフォーラムのホームの一番下に行き、「Change your signature」を押す。署名の大きさは150pxまでである。これには、改行、画像を含む。- Japanese Scratch-Wiki 「署名
_nix
Scratcher
1000+ posts

Unofficial Guide to Scratch Private-Source Projects

apple502j wrote:

You should remove scratch-desktop and scratch-link. It's open now.
Thanks, updated!

══ 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:
[submodule "libs"]
path = libs
url = git@github.com:LLK/scratch-media-libs.git
(And there is “libs” folder there, yeah, it was secretly open source!)
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

apple502j wrote:

Scratch 2.0 Offline Editor /media/.gitmodules say:
[submodule "libs"]
path = libs
url = git@github.com:LLK/scratch-media-libs.git
(And there is “libs” folder there, yeah, it was secretly open source!)
https://github.com/apple502j/why-is-it-private-again
Whoa, neat! Updated to include that as well!

══ 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

apple502j wrote:

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
apple502j
Scratcher
1000+ posts

Unofficial Guide to Scratch Private-Source Projects

scratch-android See LLK/scratch-gui#4976

署名は、ディスカッションフォーラムの機能である。署名は、その人のすべての投稿の下部に追加される。署名は、BBCodeで記述できる。 署名を追加/変更/削除したい場合は、ディスカッションフォーラムのホームの一番下に行き、「Change your signature」を押す。署名の大きさは150pxまでである。これには、改行、画像を含む。- Japanese Scratch-Wiki 「署名
medixocentre
New to Scratch
1 post

Unofficial Guide to Scratch Private-Source Projects

Nice & keep it up…
Medixo Centre
_nix
Scratcher
1000+ posts

Unofficial Guide to Scratch Private-Source Projects

apple502j wrote:

scratch-android See LLK/scratch-gui#4976
Awesome, 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
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.

Last edited by kaj (Tomorrow 00:00:00)
✰✩✭✴★--Explosion--★✴✭✩✰
Forum helper | boy | platformers | 14yrs | guitar | website


_nix
Scratcher
1000+ posts

Unofficial Guide to Scratch Private-Source Projects

--Explosion-- wrote:

The link to the .png file for Scratch Day is broken.
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.

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

Powered by DjangoBB