Page 3 of 7

Re: unite to make an OS

Posted: Tue Jan 03, 2023 4:39 pm
by kerravon
Octocontrabass wrote:Doesn't libgcc provide all of those functions?
PDPCLIB, PDOS, and the UC distributions are purely public domain, and I do not wish to introduce any copyrighted code at all.

If you can convince the GCC folk to release their code as public domain, I am happy to use it. But they won't do that for the same reason I won't do the reverse.

Re: unite to make an OS

Posted: Tue Jan 03, 2023 4:58 pm
by thewrongchristian
kerravon wrote:
Octocontrabass wrote:Doesn't libgcc provide all of those functions?
PDPCLIB, PDOS, and the UC distributions are purely public domain, and I do not wish to introduce any copyrighted code at all.

If you can convince the GCC folk to release their code as public domain, I am happy to use it. But they won't do that for the same reason I won't do the reverse.
Why bother?

What's wrong with the license libgcc is covered by? It doesn't affect your copyright (or lack thereof) or license. You're not distributing the libgcc code.

But if you're not happy with GCC copyrights and licenses, you can always move to another compiler.

Re: unite to make an OS

Posted: Tue Jan 03, 2023 5:07 pm
by Octocontrabass
kerravon wrote:PDPCLIB, PDOS, and the UC distributions are purely public domain, and I do not wish to introduce any copyrighted code at all.
GCC transforms some of its own source code to produce the binaries it generates. Does that count as introducing copyrighted code?

Re: unite to make an OS

Posted: Tue Jan 03, 2023 6:28 pm
by kerravon
thewrongchristian wrote:
kerravon wrote:
Octocontrabass wrote:Doesn't libgcc provide all of those functions?
PDPCLIB, PDOS, and the UC distributions are purely public domain, and I do not wish to introduce any copyrighted code at all.

If you can convince the GCC folk to release their code as public domain, I am happy to use it. But they won't do that for the same reason I won't do the reverse.
Why bother?

What's wrong with the license libgcc is covered by?
Wrong question. What's wrong with public domain?
It doesn't affect your copyright (or lack thereof) or license. You're not distributing the libgcc code.
Ditto.
But if you're not happy with GCC copyrights and licenses, you can always move to another compiler.
I'm moving to another C library - my own - so that there is no copyright code in my executables. What's the issue?

Re: unite to make an OS

Posted: Tue Jan 03, 2023 6:32 pm
by kerravon
Octocontrabass wrote:
kerravon wrote:PDPCLIB, PDOS, and the UC distributions are purely public domain, and I do not wish to introduce any copyrighted code at all.
GCC transforms some of its own source code to produce the binaries it generates. Does that count as introducing copyrighted code?
I don't know what you're talking about. I feed it my C code and it produces assembler code. It's transforming my code. I am basically familiar with what my assembler code looks like, and it matches my C code. Regardless, to answer your specific question - no-one actually knows. The (undisputed) copyright holder can take me to court anytime he/she wants, on whim, and it will be for a court to decide (largely on whim too). Which is why I intend to move to a public domain compiler when available. But in more than 50 years, no-one has released even a non-optimizing C90-compliant compiler. SubC is the closest I know of, and multiple people have worked on it, and it has been edging closer to C90, but still can't even handle the subset of C90 that I use.

Re: unite to make an OS

Posted: Tue Jan 03, 2023 7:15 pm
by Octocontrabass
kerravon wrote:I don't know what you're talking about. I feed it my C code and it produces assembler code. It's transforming my code. I am basically familiar with what my assembler code looks like, and it matches my C code.
And how does GCC know what assembler code looks like? Its own source code includes values that get copied directly into the output. The transformation includes both your own C code and GCC's source code.
kerravon wrote:Regardless, to answer your specific question - no-one actually knows. The (undisputed) copyright holder can take me to court anytime he/she wants, on whim, and it will be for a court to decide (largely on whim too).
That's why the GCC license explicitly gives you permission to do whatever you want with any parts that may still be covered by GCC developers' copyright in the resulting binary, including the statically-linked libgcc.
kerravon wrote:Which is why I intend to move to a public domain compiler when available.
A public domain compiler isn't going to rely on libgcc in the first place, so writing your own public domain replacement would be a waste of time.

Re: unite to make an OS

Posted: Tue Jan 03, 2023 7:47 pm
by kerravon
Octocontrabass wrote:
kerravon wrote:I don't know what you're talking about. I feed it my C code and it produces assembler code. It's transforming my code. I am basically familiar with what my assembler code looks like, and it matches my C code.
And how does GCC know what assembler code looks like? Its own source code includes values that get copied directly into the output. The transformation includes both your own C code and GCC's source code.
kerravon wrote:Regardless, to answer your specific question - no-one actually knows. The (undisputed) copyright holder can take me to court anytime he/she wants, on whim, and it will be for a court to decide (largely on whim too).
That's why the GCC license explicitly gives you permission to do whatever you want with any parts that may still be covered by GCC developers' copyright in the resulting binary, including the statically-linked libgcc.
No, it's very different. The GCC license doesn't cover the generated assembler at all, at least in my reading of the 7,592 license conditions. You postulated a possibility that they could claim copyright on the generated code anyway, and you are correct. And no, it won't be down to YOUR interpretation of what the GCC license allows. It will be up to some random judge in some random country who has never written a line of code in his life.
kerravon wrote:Which is why I intend to move to a public domain compiler when available.
A public domain compiler isn't going to rely on libgcc in the first place, so writing your own public domain replacement would be a waste of time.
No. A public domain compiler is going to take care of the issue you mentioned of the generated code. It is highly unlikely that a judge is going to agree to that interpretation if the compiler author chooses to have fun with me. But no-one knows for sure. The replacement libgcc functions serve a different purpose - allowing me to use GCC as the compiler, which I believe is pretty safe, but to eliminate the UNDISPUTED copyrighted libgcc code that would otherwise be linked in to the executable and thus comes down to whim.

Note that the public domain C compiler I am still struggling to obtain won't be anywhere remotely near as good as GCC, so there will still be a reason to use GCC. The GCC that I use (3.2.3) is 400,000 lines of C90-compliant code (after I made changes to achieve that). When SubC or similar comes online, it will be maybe 8 or 9,000 lines of code.

Re: unite to make an OS

Posted: Tue Jan 03, 2023 8:02 pm
by klange
kerravon wrote:No, it's very different. The GCC license doesn't cover the generated assembler at all, at least in my reading of the 7,592 license conditions. You postulated a possibility that they could claim copyright on the generated code anyway, and you are correct. And no, it won't be down to YOUR interpretation of what the GCC license allows. It will be up to some random judge in some random country who has never written a line of code in his life.
https://www.gnu.org/licenses/gcc-exception-3.1.en.html

Re: unite to make an OS

Posted: Tue Jan 03, 2023 8:19 pm
by kerravon
klange wrote:
kerravon wrote:No, it's very different. The GCC license doesn't cover the generated assembler at all, at least in my reading of the 7,592 license conditions. You postulated a possibility that they could claim copyright on the generated code anyway, and you are correct. And no, it won't be down to YOUR interpretation of what the GCC license allows. It will be up to some random judge in some random country who has never written a line of code in his life.
https://www.gnu.org/licenses/gcc-exception-3.1.en.html
No, this is something else again. I am not using any GCC header files or runtime libraries.

The question asked was the conversion of my C code (and my header files) being translated into assembler.

I don't believe the copyright holder can get me for that. Certainly the copyright holder has made no visible attempt to hold me to any conditions regarding that.

But as I said - these things come down to the whim of some judge.

Note that in Australia I have watched the highest court in the country claim that the constitution has an "implied right" to freedom of speech (there sure as hell isn't any explicit right, but there is an explicit right of the Governor General to control our navy, which is totally untrue). So that same pack of clowns, interpreting a meaningless document also written by clowns, may end up deciding that the FSF has an implied right to sue me for whatever they want, simply for using their (undisputedly owned and copyrighted by them) compiler. Without even understanding, or even attempting to understand, what a compiler even is.

Welcome to the real world.

Let's see you try to find a lawyer who gives you a written guarantee that using any aspect of copyrighted GCC cannot possibly eventuate in a successful lawsuit in any country.

Hint - your lawyer doesn't know what a compiler is either.

Re: unite to make an OS

Posted: Tue Jan 03, 2023 10:59 pm
by klange
kerravon wrote:No, this is something else again. I am not using any GCC header files or runtime libraries.
That's what libgcc is.
kerravon wrote:The question asked was the conversion of my C code (and my header files) being translated into assembler.

I don't believe the copyright holder can get me for that. Certainly the copyright holder has made no visible attempt to hold me to any conditions regarding that.
Nor do they ever intend to. GNU/FSF are very clear on the fact that the GPL explicitly does not cover the resulting products of the compilers, and the linked article extends that to anything that came from the runtime support library.

Using libgcc is exactly the same for your copyright purposes as using GCC in the first place.


There are some legitimate reasons to avoid using libgcc in a kernel (eg. its existence as a static archive implies some complicated requirements with having different versions for different sets of compiler flags, which is a pain in the @$$), but if you are using GCC at all then copyright isn't one of them.

(e: Note to self, we have word censors enabled?)

Re: unite to make an OS

Posted: Tue Jan 03, 2023 11:06 pm
by Octocontrabass
kerravon wrote:Hint - your lawyer doesn't know what a compiler is either.
For a case that would decide whether compiler authors could extract royalties from any company distributing compiled binaries in Australia, I expect you'll have no trouble finding companies willing to lend you a few lawyers.

Re: unite to make an OS

Posted: Wed Jan 04, 2023 1:25 am
by kerravon
klange wrote:
kerravon wrote:No, this is something else again. I am not using any GCC header files or runtime libraries.
That's what libgcc is.
Sure, but it was a separate question.
kerravon wrote:The question asked was the conversion of my C code (and my header files) being translated into assembler.

I don't believe the copyright holder can get me for that. Certainly the copyright holder has made no visible attempt to hold me to any conditions regarding that.
Nor do they ever intend to.
You can't predict the future.
GNU/FSF are very clear on the fact that the GPL explicitly does not cover the resulting products of the compilers, and the linked article extends that to anything that came from the runtime support library.
When I read the 675,293 license conditions, I didn't think they would sue the GNAT people either. But they did anyway.
Using libgcc is exactly the same for your copyright purposes as using GCC in the first place.
That's your professional legal opinion is it? And you expect me to rely on it?
There are some legitimate reasons to avoid using libgcc in a kernel (eg. its existence as a static archive implies some complicated requirements with having different versions for different sets of compiler flags, which is a pain in the @$$), but if you are using GCC at all then copyright isn't one of them.
Yes it is.

Re: unite to make an OS

Posted: Wed Jan 04, 2023 1:27 am
by kerravon
Octocontrabass wrote:
kerravon wrote:Hint - your lawyer doesn't know what a compiler is either.
For a case that would decide whether compiler authors could extract royalties from any company distributing compiled binaries in Australia, I expect you'll have no trouble finding companies willing to lend you a few lawyers.
After you have organized that (I have better things to do with my time), you will have one single legal ruling in one single country, which can be overridden at whim by the next judge. That's why this Roe vs Wade thing keeps coming up. It's dependent on the whim of judges. Personally if I was a judge, I'd tell the FSF to go jump in the lake when it comes to suing the GNAT people, but hey, apparently my legal opinion isn't correct. At least as it applies to that one judge.

Re: unite to make an OS

Posted: Wed Jan 04, 2023 1:37 am
by kerravon
Now would be a good time to write to this guy:

https://unlicense.org/

Because you have more important things to do than enriching lawyers or imposing petty restrictions on users of your code.


And tell him that no, neither you nor the FSF have more important things to do.

Re: unite to make an OS

Posted: Wed Jan 04, 2023 2:07 am
by klange
kerravon wrote:When I read the 675,293 license conditions, I didn't think they would sue the GNAT people either. But they did anyway.
I am not aware of any lawsuit initiated by the FSF against... presumably you mean AdaCore when you say "the GNAT people"? GNAT was developed at NYU under a contract by the US Air Force that stipulated GNAT copyright be assigned to the FSF, and AdaCore was founded to continue commercial development but held no exclusive copyrights. The only relevant thing in the GNAT world I can think of here is that AdaCore's version of GNAT excludes the runtime library exception for the Ada libraries (while the FSF's version still includes it), which means using the AdaCore GNAT release has issues relevant to this discussion.

(Also the entire GPL is only about 6000 words; I assure you it does not have more that that many conditions. It only has about 17, but as it is intended to be a well-structured and legally enforceable license with no room for error, it takes a lot of words to get there.)
kerravon wrote:You can't predict the future.
I can make a fair guess that the sun won't explode tomorrow. The FSF is quite clear on their opinion that their own license terms can not possibly imbue the output of any GPL program with GPL license restrictions on its own: https://www.gnu.org/licenses/gpl-faq.en.html#GPLOutput