janpaul123 / paperprograms

Run Javascript on pieces of paper!

Home Page:https://paperprograms.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Possible interference with Dynamicland

sgwilym opened this issue · comments

Putting this into an issue as the last conversation about it seems to have been left open ended.

@janpaul123 recently posted this:

Apparently some potential Dynamicland collaborations have fallen through or are threatened by people setting up Paper Programs instead and calling it a day. That is the opposite of what I want to happen, especially since Dynamicland really needs funding.

It's easy to imagine how people could confuse Paper Programs for a OSS substitute of Dynamicland's interaction model: it superficially resembles Dynamicland, and the website doesn't do much to spell out the limitations of Paper Programs in comparsion, or if there is supposed to be any difference in direction.

Right now there is a disclaimer on the camera page:

Paper Programs would not exist without the incredible research community at Dynamicland. They continue to push the bounds of physical, communal computing, and continue to inspire. If you can, support Dynamicland by visiting, collaborating and donating. Thanks!! :)

This pushes people in the direction of Dynamicland, but still does nothing to suggest that there is any difference between the two, simply that Paper Programs has been inspired by Dynamicland.

Then there are issues in this repo that seem completely counter to any wish to reduce confusion between Paper Programs and Dynamicland, such as #30 ("Realtalk. Let's implement it"). Unless there is some collaboration with Dynamicland going on behind the scenes, this seems like exactly the opposite of what you'd want to do -- a kind of have your cake and eat it approach where it's stated that this shouldn't be used as a substitute for working with Dynamicland while actively working to duplicate it.

Finally, I consider myself fairly plugged in and follow this project closely -- but it's really not clear to me if this project aims to be anything else than a browser based clone of Realtalk.

What is the difference meant to be?

How is that difference expressed in the design?

What other things can be done to show joe-off-the-web that Paper Programs can't be used as a instant DIY Dynamicland kit?

Apologies for being a bit of a broken record, or if I'm stepping on anyone's toes. But it seems like the desire to play with Dynamicland's interaction model now at the expense of donations and collaborations with Dynamicland itself could be exactly the kind of short-termism that has made them hesitant to interact with the FOSS community.

Yeah you're right. Implementing something Realtalk-esque might be going a bit too far. @osnr and I are having a chat with Dynamicland next week about Paper Programs and we should probably discuss some scope/boundaries. Also, it would be cool to implement stuff that is completely different from what they have!

I think Dynamicland is really awesome, but really don't understand the reluctance to interact with the FOSS community. I wish I did.

Isn't a world with more projects like paper programs a better world? If deals or collaborations are falling through, that strikes me as a bug in the support structures of Dynamicland. Perhaps we should figure out how to strengthen and improve those support structures without reducing the enthusiasm of things like paper programs?

Does anyone have specific ideas about what kinds of issues they've been facing?

I think the reason that their projects aren't on GitHub is somewhat explained on the FAW on dynamicland.org: https://dynamicland.org/faq/

Is Dynamicland open source?
Dynamicland shares many core values with the open source movement and in some ways goes beyond them.

A primary design principle at Dynamicland is that all running code must be visible, physically printed on paper. Thus whenever a program is running, its source code is right there for anybody to see and modify. Likewise the operating system itself is implemented as pages of code, and members of the community constantly modify and improve it.

That said, the pages of code physically in Dynamicland are not in a git repository. The community organizes code spatially — laying it out on tables and walls, storing it in folders, binders, and bookshelves.

No, it's reductive to think that it's just about having everything on paper.

From what I've heard, the reasoning behind them being hesitant to bare all to the FOSS world is quite practical: we're not really who Dynamicland is meant for. The people who spend a lot time contributing to open source software are usually:

  • Already very familiar with traditional programming languages, environments, and all the arcana that comes with them
  • Mainly work in settings where they are physically separated from one another
  • And have constant access to high speed internet (and other fancy stuff)

If your main contributors are these people, they are inevitably going to contribute features and culture that benefit their own demographic -- which is pretty much the opposite of what Dynamicland is going for ie. accessible programming, physical and social proximity, and computing as a public good.

It stands to reason that they'd want to cement the culture of Dynamicland so that it would assimilate any self-assured programmers who come to it, rather than the other way around.

I agree with @sgwilym about the reasons why this isn't on git. Dynamic land is an entirely new paradigm of computation, and putting it in git would be to just treat it as if it were in the older model. Instead of DynamicLand conforming to FOSS, it seems FOSS should conform to DynamicLand.

@janpaul123 You should drop a note here (or in another issue) with some takeaways after you chat with Dynamicland.

Good discussion here!!

@osnr and I talked with some folks at Dynamicland, and it was a positive chat. They understand that people are taking slices of what they built and putting it out there. They appreciated the notice that is shown on the camera page now. We talked about various topics like improving messaging, how to open up Dynamicland to the world more, ways to make the difference and value of Dynamicland clearer, etc.

We didn't have concrete next steps though, and concluded that we would all think about it more. Also, they are very much in fundraising mode, and while there are promising things happening there, all of these concerns are moot if they would not get sustainable funding. Hopefully Paper Programs should not interfere with that any more. So we all thought it would be better for them to focus on fundraising right now, instead of worrying about our project.

Hopefully this makes sense. If anyone has any fundraising leads for Dynamicland, feel free to contact them or me directly. Also, if you happen to be near Oakland/SF, feel free to drop me a note and I'll happily show you around Dynamicland. 😃

commented

I want thank you guys for starting the discussion about this, and I find it worth revisiting due to the increasing parity proposed in #76 and #77. I've spent a month or more thinking about it.

I don't think it's a great idea to put Realtalk in PaperPrograms 😞

I think this for two main reasons. Some have already been stated here:

  1. Funding/Partnership interference: Dynamicland has secured some funding (for a year or so?), but I can still see this project further disincentivizing future donors and partnership opportunities if everyone can just use this free version—especially if it has the core of their research tech, Realtalk.
  2. Undermining the planned pace for growth- The Dynamicland team is under no delusion that their technology to connect and empower people is going to be unequivocally good for our culture (see social media as a recent example gone awry). With this in mind, their plan is to try it on progressively larger communities and address unforeseen cultural consequences as they arise. Again, the growing parity with PaperPrograms undermines this plan if everyone can use it.

Why we shouldn't wait for Dynamicland to tell us

Dynamicland is in an awkward position that sorta forces them to be silent about us. They're both 1) trying to help the culture around this new technology, while 2) trying not to piss off open-source people by saying this shouldn't be shared or replicated yet.

I think it's up to us to decide that this is the right thing to do, since there's really no polite way for Dynamicland to ask us to stop working on it. I can imagine their intentions misrepresented in a faux headline like: Dynamicland tells OSS community to Cease and Desist!

What can we do instead?

I don't know, but I think we need to think about it.

References from Dynamicland interviews

https://gist.github.com/shaunlebron/4b9a9a986fca1e7abd0bfcadbedaa526

@shaunlebron Another reason not to put Realtalk in Paper Programs is that it does not match with the JS community and would limit those programmers from contributing to Paper Programs. JS does not have a culture of DSLs, which Realtalk is. I think some of the ideas of Realtalk can be borrowed, Wishes and Claims, but they need to presented in a JS fashion:

For example here is some code in Realtalk:

Wish (you) is labled "Bella"
Claim (you) is a "Duck"

and a "JS" version:

Import { Duck } from "farm";

You.label = "Bella";
You.isA(Duck);

I still think we should keep the idea of Facts and Relationship of objects in Paper Programs as in my opinion is one of the things that makes DynamicLand "programs" so powerful, they have a concept of themselves and their relationship to others. It's very reminiscent of the Entity-Component-System architecture to me.