Welcome to the Linux Foundation Forum!

Quiz in LFC193

There is no class forum for LFC193, so I presume I can ask questions about it here.

I came across these questions in a quiz in LFC193:
Question 5.1

What is incorporation?

a. Incorporation is making copies of documentation explaining Open Source functionality
b. Incorporation is acknowledgement of using open source software in proprietary products
c. Incorporation is copying portions of Open Source components into your software product

I believe incorporation is a rather generic thing that would not necessarily relate to open source. One could incorporate portions of any source code into one's software product. (Might not be a good idea, but it's still incorporation.)

Another question:
Question 5.2

What is linking?

a. Linking is another term for the compilation of software
b. Linking is CI/CD execution during build
c. Linking is when you join an Open Source component with your software product

None of these answers make any sense. Linking relates to combining object code no matter its origin or license.

If one would go on with this trend, there could be a question like:

What is programming?

a. Designing open source software
b. Writing open source software
c. Contributing to open source software

Isn't this kind of strange? I don't think it's helpful to imply everything relates to open source software per se.

Comments

  • fcioanca
    fcioanca Posts: 2,114

    Hi @jschwart

    Please note that knowledge check questions cover content that was explained in the course, and refer to the context presented in the course. Incorporation was discussed in chapter 5 of LFC193.

    If taken outside of context, they can mean different things, but so can anything else. Please refer to the content and questions within the context presented in the course.

    Regards,
    Flavia

  • jschwart
    jschwart Posts: 4

    Hi @fcioanca,

    I would not agree. The context in which these actions take place is a broad one as these terms refer to general software development activities and it is important that people have a good understanding during these general software development activities when specific aspects related to open source would apply.

    The current questioning would imply that terms like incorporating and linking relate to open source. Somebody familiar with software development will already know these terms and their real meanings and depending on the tech stack understand what incorporation/linking implies when redistribution takes place and recipients need to be able to replace parts with their own. Somebody without a software development background will get confused as they will not understand the implications when linking takes places between for instance only internally developed components.

    Establishing such terminology within such a specific context is harmful as people will need to do significant unlearning as they dive deeper into various details in particular projects they would encounter, for instance related to tech stack differences. These details are essential when it comes to full compliance. My recommendation would be to focus on independently on factors such as incorporation, when a work is considered a derived work or not, etc. and independently on what consequences that brings when distributing a combined work. For instance some licenses might imply that a recipient should have the liberty to substitute that component with a version of their own. It depends on the technology stack what is necessary to enable this for a recipient.

    Separation of these concepts and applying the right terminology in the right context would make each concept easier to understand on its own. Especially when the devil is in the details with ensuring compliance, this can make a big difference. I hope you will consider revising the material accordingly.

    Best regards,
    Julius

Categories

Upcoming Training