Bug 1859553 - Flexiblas is non-free?
Summary: Flexiblas is non-free?
Alias: None
Product: Fedora
Classification: Fedora
Component: flexiblas
Version: rawhide
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Iñaki Ucar
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2020-07-22 12:44 UTC by david08741
Modified: 2020-07-23 17:11 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2020-07-23 17:11:42 UTC
Type: Bug

Attachments (Terms of Use)

Description david08741 2020-07-22 12:44:43 UTC
Description of problem:
Flexiblas contains a large number of autogenerated files.
However, it seems there is no way to autogenerated them during the build process, and neither is fedora doing it.
This feels like a violation of my freedom to modify the code, but I first want toa ask whether I am missing something, before I ask legal@ for verification

Version-Release number of selected component (if applicable):
v3.0.1 (I used upstream source)

How reproducible:

Steps to Reproduce:
1. mkdir build ; cd build
2. cmake -S ../ -B . # no error
3. grep Generated .. -r|cut -d: -f1|xargs rm
4. cmake -S ../ -B . #fails

Actual results:
-- ------------------------------------------------
-- Configuring incomplete, errors occurred!
See also "~/soft/flexiblas-release/build/CMakeFiles/CMakeOutput.log".
See also "~/soft/flexiblas-release/build/CMakeFiles/CMakeError.log".

Expected results:
generated files are recreated

Additional info:
I couldn't find any documentation on the generation.

Comment 1 Iñaki Ucar 2020-07-22 13:07:39 UTC
I don't understand what's the issue here. You are removing source files. How would you expect the build process to succeed without them? What's the difference between a source file being generated by hand or by means of a script? How does this violate any freedom to modify those source files?

Comment 2 david08741 2020-07-22 13:18:10 UTC
While you call them source files, they are not the source of the code. The true source is somewhere else.

Thus the source is not open, but non-free, and only this intermediate representation is available.

This is the first step towards only shipping binaries.

The main question is for me, is the real source included in the release / available to users?

Comment 3 Iñaki Ucar 2020-07-22 13:23:30 UTC
No, you are wrong. This is the real source. You are twisting the definition of source. Following your reasoning, the original source is in the author's brain, so open source software doesn't exist. I don't know what else to say, but please, ask legal.

Comment 4 Neal Gompa 2020-07-22 13:45:07 UTC
Generated source files are fine as long as the mechanism to generate the files are available *somewhere*: https://docs.fedoraproject.org/en-US/packaging-guidelines/what-can-be-packaged/#_pregenerated_code

In this case, these files appear to be generated interface files to shim APIs through FlexiBLAS. There is no reasonable way for us to be able to regenerate those files from scratch, as we would not necessarily be able to provide all the variants it shims. Moreover, these files are licensed correctly.

It is not required that we regenerate the files as part of the build. But if it were necessary to patch it, we need a safe way to do so properly. However, I think it is quite unlikely that we would do so with the generated files included.

Comment 5 Iñaki Ucar 2020-07-22 14:04:51 UTC
Sorry, it's still not clear to me. Is there currently any legal issue with this? Should I ask upstream to include the scripts or not?

Comment 6 Neal Gompa 2020-07-22 16:45:41 UTC
(In reply to Iñaki Ucar from comment #5)
> Sorry, it's still not clear to me. Is there currently any legal issue with
> this? Should I ask upstream to include the scripts or not?

Yes, getting the scripts included with the appropriate FOSS license so that it's possible to generate them if desired would help.

Comment 7 Iñaki Ucar 2020-07-23 17:11:42 UTC
The new patch release includes the scripts under tools/code_generators.

Note You need to log in before you can comment on or make changes to this bug.