About development

How does it work with new functions? After all, Shotcut is open source, so I could modify it and create features that I want. So far so good. Probably a lot of debugging necessary before as in managing the development environment. But then, what happens when I have this feature and I compile my version and I’m happy with that, and you create a new version and upload it? And I want the new features that you created. Obviously I could install your version, but then my functionality is gone. So, how does it work that I get new functionality, but at the same time my functionality stays? Especially when I just develop it for myself, so I don’t make it perfect that it’s good enough for an official release, but it just solves the problem for me. So, how do you do that? When I start developing, wouldn’t I always have to re-import my functionality in the new version, so I could never ever use executables anymore, but I would always have to rely on the source code, and I always would have to compile and merge, and then you create new functionality that contradicts what I’m doing. How does that work in practice?

If you make changes to the Shotcut source code, you have two options:

  1. Contribute them back to the project for everyone to use. If you do that, then they become part of the normal maintenance of the project.
  2. Keep the changes to yourself. If you do this, and you want to upgrade to new versions of Shotcut in the future, then you will have to re-implement your changes on top of the new Shotcut code when it comes out.

How could you know how to do that and not know about git or GitHub? If your change is not accepted by us, then you need to maintain a fork and your own build. Use git (or another tool that you prefer for) branching and merging.