Why a few versions of Cinelerra?


Cinelerra is one of the most advanced, open-source non-linear video editors and compositors for Linux.

Users are frequently confused about the fact that a few separately maintained versions of this software exist.




About Cinelerra HV


Cinelerra was originally developed by Adam Williams (formerly known as Jack Crossfire) at Heroine Virtual Ltd.
This is what the HV stands for. Adam is the original author, and has worked on Broadcast 2000 and its successor Cinelerra since 1997.

The official Cinelerra home page and the Sourceforge page are maintained by the original developer.

Cinelerra's source code is available under the GNU General Public License (GPL). Unlike most of the free Open Source projects,
the development of Cinelerra HV isn't open to distributed collaboration and there is no support for the software.
Though in the past, Adam Williams stopped by at CV mailing list occasionally.

To distinguish between the different variants of the software, the releases made by Heroine Virtual are also called Cinelerra HV.
Cinelerra HV is still being produced by Adam Williams. Usually a new update comes once a year.
Source code changes report for Cinelerra HV between the packages.




About Cinelerra CV


CV stands for Community Version. This website was originally meant to be a community for Cinelerra-HV, where users could come together to get help or work on improving the original software.

Our goals have not changed to this day:

  • Cinelerra CV can be considered a fork, although we try to develop it in a direction not diverging from the original and merge with all the new releases from the original project. This does not mean that enhancements to the software are forbidden, they are very welcome.
  • We apply bug fixes, compiler compliance fixes, and enhancements for the HV code to our repository on GitHub.
  • When there is a new official release, few members (usually just Johannes Sixt) merge HV's code with our code taking the new enhancements from HV, and re-arranging our version to be more similar to the original (whitespace, function naming, directory naming, slight changes in implementations etc). During recent years, we've fallen a bit behind with merging HV's releases, but it still is our goal to do so.
  • New HV releases often have problems in the form of bugs or usability issues, since HV only builds for few distros. We intend to fix them (as users find bugs and as time permits to fix them) before making a new release.
  • Cinelerra CV primarily focuses on stability of the software. Rather than implementing the latest cutting-edge technology, new features of the software are tested for a while and patches from the community have to be a approved by a core developer.


UPDATE-2020:
Not fork is practically impossible - you have to keep bug-exact code with original. Only very limited changes are possible.
To us "not forking" looks too restrictive. You can't add features, drop obsolete features, add bigger fixes etc…
To be free of these restrictions we like to call CV-s forks.
There should not be promises about porting something from HV — we port something feature by feature. If feature is interesting, we port.
Codebases of the forks are developed too far away from each other — the formal copying from HV does not work any more.

See below for more detail.



About Cinelerra GG


Around January 2014 the Cin-CV community overlooked the renewal of the domain of its website cinelerra.org.
The domain was then taken over by a different project managed by Michael Collins, co-founder of Cinelerra-HV.
To know more see in this section.
The project was following commercial interests, aiming at offering professional support to its users.
Quote:

Our goal and plan is to eventually support artistic and technical development projects with a collaborative
environment and with sponsored technical support, whenever possible.

The main developer of the project was William Morrow aka Good Guy.

For a while, they released their own version ("5.0") and made their own adjustments to the software.

In January 2016, the main developer of the project William Morrow working behind cinelerra.org ("Good Guy") left cinelerra.org,
continuing to work on Cinelerra 5.0, then on Cinelerra 5.1 with help from the Cinelerra-CV community.
Many bug fixes and code improvements from the stable CV version were included in Cinelerra-GG.
This branch has received the name '-GG' in December 2016.
The name was proposed by the main Cinelerra-CV developer Einar Rünkaru.

In November 2018, the Cinelerra-GG project of William Morrow has been moved to another website and can be accessed here.
To know more see in this section.
The developer of 'Cinelerra-GG 5.1' has renamed his branch to 'Cinelerra-GG Infinity' in December 2018, and works on that version.

At the present time, cinelerra.org supports Cinelerra HV work. Its website links in the download section to both the HV and GG versions.

You can also see a A Brief History of Time, written from the developer's point of view.

UPD.-2020: William Morrow aka GoodGuy died in a traffic accident in November 2020. R.I.P.



Questions & Answers

Why are there so many branches of Cinelerra CV ?


We have the main branch and a few experimental branches. Such a development model allows to keep the main branch in a stable state.
We can't say that there are no bugs. But there are no bad surprises there. The experimental branches do not seek to compete with
the main branch. The focus of the Cinelerra-CV community remains on the official master branch, which is currently at version 2.3.

The official devel version is the current git. That is currently the officially developed, community approved version of Cinelerra CV.
What this means is that that version was vetted by all developers.

All personal branches are (as we know) developed by one person - this means they are not tested enough.
The personal branches contain different set of features and different set of bugs.
Hopefully features and fixes that do not break the official branch reach there one day.

This is how Open Source work: improvements don't start off by merging everything in one, mostly when there are
several architectural changes at stake. Parallel, yet independent repos are created to develop ideas that might make into the official devel.
Or they might not.

Users are free to select branch what they think is most suitable for their needs.

Cinelerra-CV is looking for new developers!
Anyone who wants to take responsibility can become a developer/maintainer of Cinelerra CV.
Anyone can send a patch to the CV-ML for the main branch as well for a experimental branch.
See below for more detail.


About Cinelerra CVE


I see that many of your experimental branches are already not actively developed.
However, Cinelerra-CVE shows frequent updates. What is Cinelerra-CVE ?

Cinelerra-CVE is a Cinelerra-CV fork created for experimenting with Cinelerra's code.

Cinelerra-CVE was created by the main Cinelerra-CV developer (2012-2018) Einar Rünkaru in June 2008.
The fork was published in the middle of March 2010. This is a experimental branch where Einar plays with new and interesting ideas.

Sometimes, a code change can be destructive and have a negative impact on the stability of the program, so Einar created a separate branch for experiments. A experimental branch allows to make changes, that break things for months until the developer reaches fixing these one-by one.
As the branch is experimental, features may appear and disappear, stop working and start working differently.

The main difference between 'Cinelerra-HV|Cinelerra-CV|Cinelerra-GG' and Cinelerra-CVE is attempt to use (in Cinelerra-CVE) seconds as timebase instead of framerate and samplerate. An implementation of PTS based timing enables to edit media with variable framerate and get rid of the assumption that audio and video start simultaneously.
This fundamental change (replacing samplerate based timing with clock based timing) and fixing bugs and misdesigns of Cinelerra made very hard to keep compatibility with old projects. The branch is backward compatible - it can load projects created with Cinelerra-CV, the result may be somehow different. The projects saved by Cinelerra-CVE can not be loaded to any other forks of Cinelerra.

I don't understand .. Is Cinelerra-CVE Einar's own version of Cinelerra ?
Is it a separate version of Cinelerra ?

Cinelerra-CVE is developed as a independent version.
At the present time, Einar Rünkaru does not restrict himself to be somehow compatible with Cinelerra-CV any.

Some features of Cinelerra CV were removed in Cinelerra CVE .. Why ?!

Einar's answer: "Implementing a feature takes time. A lot of time. I implement frame rate free Cinelerra several years. I can't implement any reasonable other feature before I have this feature finished. I have to remove features what conflict with my idea, that are not useful when my ideas are realized. Some features have to be removed temporarily until the new main feature is mostly implemented because the new feature breaks the old.""

Why did you remove OpenGL ?

Einar's answer: "OpenGL was broken, completely bad design.. The author(s) of the design had no idea how to design tightly hardware related functionality. I am going to completely rewrite it.""

Ok, Einar Rünkaru.  What are your plans for Cinelerra CVE ?

Einar's answer:
"In Cinelerra-CVE I am doing bug fixing, code cleanup, optimizations. The usability part comes later - there may exist features that are not usable with the current state and there are definitely missing features for comfortable editing.

Big plan is to get Cinelerra CVE to the level where a user can mix (in Cinelerra) media from different origins, with different frame rates, resolutions, sample rates, color spaces and get the result he/she needs. If the result is not satisfying, the user will have the tools to tweak the project until the result is perfect. The changes have been taken a lot more time than I estimated."


Is a Cinelera CV development stopped ?


It is frozen. Frozen until someone takes over the development of Cinelerra-CV.

The Cinelerra-CV Community is looking for new developers!

  • Anyone who wants to take responsibility can become a developer/maintainer of Cinelerra-CV.
  • Anyone can send a patch to the Cinelerra-CV Mailing List for Cinelerra-CV as well for Cinelerra-CVE.
  • A new developer is free to port any changes, fixes, new features from any branch, fork of Cinelerra to Cinelerra-CV
    and create new fixes/features to Cinelerra-CV. Einar Rünkaru is ready to help.
  • Patches for Cinelerra-CVE should be sent directly to Einar Rünkaru. He can answer then privately.
  • Patches for Cinelerra-CV should be sent to the CV-Mailing List for review.
  • Patches will be accepted and applied when during review and test we find no bugs in it.
  • Anyone sending fixes must be ready for bad public feedback and complete rejection of their fixes.
    As a rule the first fixes are wrong because of poor understanding of the whole program.
    Sending patches and receiving feedback is one method of learning Cinelerra. Read more in Detailed instructions for coders.

Ok guys, but why are you developing the program so slowly ?


  1. We're all volunteers here. People who spend their spare time testing and developing Cinelerra. We all have lives.
  2. Good things take time. Remember examples like Linux - which has always followed the mantra "it'll be ready when it's ready".
    Open Source projects are most successful when they stick to their values rather than sacrificing quality on the altar of speed.

Branches.., forks.., experimental.., non-experimental.., main.. You guys are crazy.


Maybe. The program is complicated, the mission is complicated.


Well, let's talk seriously now…


Why don't you want to merge your forces in Cinelerra development with the Cin-GG project ?

That's a very good question, sir, and we would counter with our own question,
Why didn't the Cin-GG project want to merge their forces in Cinelerra development with the Cin-CV project ?

Can I have an answer rather than another question?

Of course. No problems.
There are several methods to develop a project and no objective measurement which of them is the right method.

The developer of Cin-GG uses personal repo method. He only makes changes as he wants and what he likes. Optionally he listens users too. It is the fastest method - Einar uses it for Cin-CVE and calls it a personal experimental fork. For users it means that new version may break all his/her old projects possibly leaving the only option to start their work from scratch. (This has not happened yet, but it is possible).

If a development team wants to avoid bad surprises to users, the only working method is peer review. One developer creates a change, others look at it, test it and discuss on theme: is the change move to the right direction. This takes a lot more time. The features appear in much slower tempo.

There are other methods too - they all fit between the described methods.

Another important aspect has to be added here.
A good, useful Git repo is a repo with clean, meaningful commit messages. Its commit history is structured and consistent.
That will make the lives of fellow developers easier.

If you browse the log of Cin-GG Git repo, you will probably find its commit messages are more or less a pure mess.

Compare that with clean commit messages in Cin-CV and Cin-CVE Git repos. Which would you rather read ?


Why are you jumping from a site to a site ?


cinelerra.org, cinelerra-cv.org, cinelerra-cv.wikidot.com
Why are you jumping from a site to a site ? What happened with your previous site cinelerra-cv.org ?

Cinelerra.Org was originally registered by a member of Cinelerra-CV Community Richard Baverstock on Jan 10 2004.
Richard Baverstock was active in the Cin-CV community for several years.
The domain cinelerra.org was registered because it was available. We doubt that there have been any trademarks registered at that time.
We are not aware of a registered trademark for Cinelerra. Adam Williams always hosted his stuff under heroinewarrior.com at sourceforge.

Around January 2014 the Cin-CV community overlooked the renewal of cinelerra.org.
The domain was then taken over by a different project managed by Michael Collins one of the founders of Cinelerra.
To know more see in this section.

The new domain 'Cinelerra-CV.Org' has been registered on Jan 15 2014. Danny Schmarsel has created a new design for the website cinelerra-cv.org. The domain 'cinelerra-cv.org' has expired in Jan 2020.
Despite the community's desire to keep Cinelerra-CV, cinelerra-cv.org was taken offline due to some organizational issues.

Since nobody volunteered to maintain the Cinelerra-CV old website cinelerra-cv.org in July 2020, the CV-Mailing List was linked on cinelerra-gg website by the Cin-GG Community. At present time the domain 'cinelerra-cv.org' is a property of the Cin-GG Community. The URL cinelerra-cv.org redirects to the website for Cinelerra-GG.

A volunteer of the Cinelerra-CV Community Igor Vladimirsky has decided to end the organizational issues and implemented his old idea to move the Cinelerra-CV project to a free platform. So, this new official website of the Cinelerra-CV Community, the new official repo of Cinelerra CV and the new official Mailing List of Cinelerra-CV Community have been created.

Are you affiliated with cinelerra.org or Cinelerra-HV ? With cinelerra-gg.org ?

No, we are not affiliated, associated with these projects. These projects are independent projects.


What is Lumiera ?


Is it a branch of Cinelerra ? Is Lumiera a fork of Cinelerra ? Is Lumiera a rewritten Cinelerra ?

Quote from Lumiera's site:

No. Lumiera is a complete rewrite. Not a single line of Cinelerra code is now used in Lumiera.
The project was first called Cinelerra-3 because it was born in the Cinelerra-CV Community.

It is not a rewritten Cinelerra. They are two completely different programs.



To know more…