Canon CR3 raw support - your move

Honestly, everyone who has an opinion, should be allowed to talk about! Not only in this forum or on github.

4 Likes

Yes, better to voice the thoughts and grievances civilly than have it boil over.

2 Likes

Yes, obviously itā€™s neither a good idea to prevent anyone from voicing their opinion nor am I in any opinion of enforcing anything here if it were a good idea. I still stand by my statement that you should not talk about forking unless you mean it (and know what it means), otherwise you are making a fool of yourself. Again, if you want to do that, be my guest. Anyway that was not the important part of my post, the part about that I donā€™t see that anyone is blocking this feature is (should have switched the order accordingly, but I was too annoyed about the forking comments).

@clanmills It sucks to see your frustration, but it does not surprise me given that Rosen Peneve (neheb on github) appears to be an active maintainer on exiv2 now. He is currently complaining that an OpenWRT package is unmaintained because:

  1. He has overridden all pull requests against the package
  2. The justifaction of his overrides can be proven to be unambigously false in less than ten minutes
  3. He outright causes the problems he claims to be solving by overriding other maintainers who actually pay attention to the package (such as not wanting to create a pointless empty metapackage which serves no purpose other than to satisfy an unnecessary dependency) - canutils: Subcomponents do not build after commit 5f9a918c4fe8d3e6e3a29f653204683881ae6f07 Ā· Issue #12812 Ā· openwrt/packages Ā· GitHub

Most.of Rosenā€™s contributions to exiv2 look like the result of automated code analysis tools.

@paperdigits is correct. Rosen has been using clang-tidy to contribute to the ā€œmodernisationā€ of the Exiv2 code base. His changes have been reviewed and merged by Luis. In May 2018, Luis and Dan visited me in England and we had a very nice weekend together. We agreed that I would be the release engineer for v0.27 and maintain a series of ā€œdot releasesā€ during 2019 and 2020. They would ā€œmoderniseā€ the code to support C++11 (they wanted to jump to C++17, KDE requested C++11). So we have two branches 0.27-maintenance and master.

In addition to releasing Exiv2 v0.27, I also shipped v0.27.1, v0.27.2 and v0.27.3 I hope Exiv2 v0.28 will be released spring 2021. Exiv2 RoadMap Ā· Issue #1018 Ā· Exiv2/exiv2 Ā· GitHub

The ISOBMFF matter is an unexpected surprise. I received numerous requests to support CR3, HEIF and AVIF. I was going to add this to Exiv2 v0.27.3 by extending the existing JPEG 2000 code. Members of the community have strongly objected Add support for ISOBMFF Files (AVIF, HEIF, CR3) Ā· Issue #1229 Ā· Exiv2/exiv2 Ā· GitHub

Iā€™m currently writing a book about Exiv2 and hope to finish it by the end of this year. The code in the book reads ISOBMFF and could be ported into Exiv2.

There has been lots of discussion about forking, merging PRs, plugins, introspection and build switches. The legal objection cannot be solved by code.

I have considered the offer to obtain legal advice about ISOBMFF. I have run out of energy to pursue this matter. I would like to see somebody take on the challenge of working with legal people to resolve this matter. I will cooperate fully with such as effort, however I donā€™t want ownership. I want to retire by my 70th birthday on 2021-01-18. Since 2008, Iā€™ve contributed 10,000+ hours to Exiv2. Thatā€™s enough - donā€™t you think?

The challenges of maintaining an open-source project are many. I have great enthusiasm for Exiv2 and do my best to encourage others to contribute. I appreciate the contributions that Rosen, Luis, Dan and others have made to Exiv2.

8 Likes

Any news on this front?
How come this issue doesnā€™t seem to exist in LibRaw project?
Also, LibRaw is used by Microsoft Raw Image Extension and specifically advertises CR3 support in all caps. How come they arenā€™t concerned by any legal issues?

Libraw is commercially developed, then they release an open source version. Theyā€™ve either worked with canon or have it cleared from their own legal team, Iā€™d guess.

No movement on this issue, still waiting for the other exiv2 maintainer to weigh in.

2 Likes

Why donā€™t exiv2 dev ask other apps dev how they proceeded?
Some programs are able to decode CR3 metadata or raw data (exiftool, libraw) and a lot use those programs (DT, ART. xnview, digikam ā€¦).
Furthermore, the MP4 format that embeds ISO BMFF is implemented in all video SW I use (free or FOSS).
At last, Exiv2 will stay the only program to remain unable to decode ISO BMFF metadata!

How many months or years are we going to wait?
The issue doesnā€™t seem to come from legal matter!

2 Likes

Whatā€™s/whereā€™s the commercial version?

It is in products like this: Other Libraw Products | FastRawViewer

I donā€™t know, hopefully we can resolve it ASAP.

I donā€™t know the IP specifics of ISO BMFF, but I would not think that I should compel an individual to take a perceived risk in this regard. Itā€™s their own decision with respect to how much exposure theyā€™re willing to take regarding an IP conflict.

I speak from experience; about 20 years ago I got a cease and desist letter from a company selling model train control software, citing patents that my recently posted homebrew software allegedly infringed upon. Reviewing the patents, they effectively just patented the use of the TCP protocol for model railroad use, quite specious on its face. However, I wasnā€™t up to a legal battle, so I took my stuff down.

ā€˜Legalā€™ isnā€™t about absolutes, itā€™s about making a compelling case in a court of law. Itā€™s the process that killsā€¦

2 Likes

I am pleased to say that David Houlder is working with me to get legal advice about this from the Software Freedom Law Center.

https://github.com/Exiv2/exiv2/issues/1229#issuecomment-705350266

It is not helpful to ask the unanswerable question How many months or years are we going to wait?. A better question would be Robin, can I help you with this issue?.

If you want the answer to how long this will take?, please discuss it with SFLC or David. Currently, SFLC have acknowledged our request for assistance.

Assuming we get the legal ā€œall clearā€, somebody must undertake the engineering work to add ISOBMFF into the Exiv2 code base, tested, documented and released. This engineering work could be started on a branch while the legal work is in progress.

Would anybody like to volunteer to perform the engineering work to add ISOBMFF support to Exiv2? I have researched, documented and implemented reading ISOBMFF in my book: IMaEA

7 Likes

Please email all those projects and ask them about their ISOBMFF legal status. Their replies may help in several ways:

  1. You may be able to answer the concerns of the 3 Exiv2 contributors who objected to the code being added in Exiv2 v0.27.3.
  2. Your findings may be of value to the SFLC who are investigating the issue.
  3. In some other very constructive way that I have not considered.
4 Likes

An Exiv2 user is adding ISOBMFF support to their private copy of the code. I invited them to provide their code as a ā€œcontribā€, however they didnā€™t reply to my invitation.

I learnt about this because the user emailed to ask about the availability of the code discussed in the book. The location is documented in the book, of course. I believe he intends to use the code in the book to read CR3 files.

contrib/isobmff could provide a script such as integrate.sh/integrate.cmd to make using the contrib very easy. I canā€™t say if that will satisfy everybody, however I suspect Jens would accept that as a good way forward.

4 Likes

It looks like the ISOBMFF support is no longer the milestone for 0.27.4 so no CR3 support in 2021?

@KristijanZic In cleaning up for retirement, I released that issue from the v0.27.4 milestone. The code to read ISOBMFF (.cr3, .heic, .jp2 and .avif) is in the code in my book and tested using files from the raw.Pixls.us archive. Itā€™s working well.

I havenā€™t investigated the effort necessary to port that code to Exiv2, however itā€™s modest. It can probably be up and running in a day. Iā€™m looking forward to seeing somebody stepping forward to make that happen. I will of course help as required.

After discussion of the legal situation with Dave Houlder, our recommendation is that Exiv2 should join the Open Invention Network. Exiv2 requires a maintainer to manage and steer the project into the future. Once more, I look forward to seeing somebody volunteer and to assure them of my support.

4 Likes

@KristijanZic I didnā€™t say something that seems obvious to me and has not been plainly stated.

The research into the technology and legal situation concerning ISOBMFF (.cr3, .heic, .avif and .jp2) support for Exiv2 has been completed and documented. The way ahead to achieve this in 2021 is open. Itā€™s up to the community to make it happen and I am happy to provide support for that effort.

Iā€™d like to thank @1div0 for his help with testing the ISOBMFF code in my book.

3 Likes

@clanmills thanks for the tip :sweat_smile: :wink:

@1div0 you seem to be familiar with exiv2 and ISOBMFF code from the Robinā€™s book? :sweat_smile: :innocent: