Open-source Design Collaboration & Branding

I was thinking the other idea how easy it is for developers to contribute to an open source project. Find a repo, find and issue, create a branch, create a pull request. Then the owner can review the code and merge. Figma has some of these abilities with Branching, but not very good in my opinion. Penpot being an open-source tool, how do we really tap into open-source design workflows.

As a user I want to:

  • Create an open source design system that benefits the community
  • Be the owner, or have multiple owners that manage contributions
  • Allow users to create branches and make contributions to the file
  • Allow users to make a pull request to merge the changes
  • Be able to review and merge the branch

Other ideas, can this somewhat sync with git and issues to truly enter into the engineering workflow?

7 Likes

@matthewortega the way you presented this topic is spot on and represents one of my personal ambitions. This is something I would like to discuss in detail perhaps during a panel at PenpotFest. The git sync is tricky but could unlock so much!

The way I’m looking at this is to experiment with something relatively straightforward first, just managing design contributions from people outside the team inspired (but not necessarily copied) by how git pull requests operate.

The goal would be to see an explosion on design co-creation with no need to learn code skills. And then, building on top of that decide how we could integrate it with another equally powerful source of truth, a git repository.

1 Like

Would love to see more in this direction as well. It’s a huge pain point for collaboration for us in Bitcoin Design (like the Bitcoin UI Kit). Usually, there just ends up being one person who has to painstakingly maintain the main file for a project and manually merge everything in (since we do not want to give edit access to casual contributors). Note that we currently mostly use Figma, but only the free features which do not include branching.

I wonder if a prototype could be built using the API? Maybe you could load the main file, and the file to merge from, then create a diff and visualize the changes. Those would have to be split up into manageable bites, so a reviewer could approve/reject. The changed file could then be uploaded again (via the API?).

If we’re not quite sure what the best way is to go about this, maybe creating some proof-of-concepts could be a good starting point.

By the way, a handy tool for working with the API would be to have a JS rendering library for Penpot files.

Looking forward to see how this evolves.