linuxyne wrote:kerravon wrote:And I think it is a harsh interpretation because a generated function call sequence is not a work of art and I don't believe is subject to copyright at all. It is generated machine code (or ends up as that after assembly), from a "machine" in a different language. The machine was not fed a (copyrighted) work of art to produce what you are trying to identify as a work of art (thus subject to copyright). BTW, they had this problem early on with computers - the binaries weren't considered copyrightable because they didn't look anything remotely like a work of art or the original undisputed art (the source code). So the law had to be amended to cater for this new phenomenon. But now you're moving to machine-generated quasi-art being copyrighted by the builder of the machine.
The use of the instructions is guided by the design of the interface. For e.g. for calculating exp, whether or not the the exponent is passed first, whether it is passed directly or through a pointer, etc. Given that we do not yet know the extent to which the term "interface" is defined within the Exception, assuming the worst-case seems appropriate to me.
The only public interface that gcc advertises is the C90 etc standard, which they don't attempt to claim ownership of and it is unclear if AT&T could claim ownership of if they attempted to. The internal/external functions (adddf3 etc) are not meant to be directly called and are not of interest to anyone at all except someone doing something unusual like I am. There would have to be something novel about them in order for them to patent them if they did want to protect those. gcc 3.2.3 was published in 2003 so if they had attempted to patent anything - which I highly doubt - it would have expired by now regardless.
If all the infrastructure for calling into Runtime Library and the Runtime Library itself, are removed from GCC, and replaced by call to a single entry-point into your own library (something like a system-call interface) that provides the implementations of the routines, does that help? The interface is sufficiently different from GCC's, and therefore its usage will also differ from GCC's. There won't be a Runtime Library to speak of.
There already is no runtime library to speak of already. The only thing is a clone of a subset of their runtime library, which at least currently has the same interface.
Another 'solution' that just popped up: During compilation, when the compiler generates the call to those math routines, figure out which line in *your* source code caused GCC to emit them. For e.g. say it is double-floating point '+' operation. In your code, replace that '+' with a call to the public-domain implementation of the double-floating point '+' operation that itself does not rely on double-floating point '+' from GCC. This is just working around the problem one level up - don't allow GCC to even generate those calls. Does that work?
That's basically writing a partial compiler. So yes, if there is a very harsh judge, who thinks the same way as you, or thinks like the High Court of Australia which just makes up any old crap to suit their personal preferences, that would "work" unless you start getting harsher and harsher interpretations like there is an "implied right" of FSF that no-one should be able to be "inspired" by the existence of their C compiler and they may as well put the Governor-General in charge of Sydney Rail while they're at it. That's also "implied" when you have control of the Navy.
But for me, "work" stops at the reasonable level which I have already done which is remove any actual object code from my executables. Yes, I've implemented AT&T's API. Yes, I've implemented GCC's internal libgcc API. It's a harsh interpretation to even suggest that FSF is attempting to claim copyright of the internal API itself, but even if they are attempting to do that - which I doubt - they're not likely to be able to be successful in exercising such a right/implied right. So I'm already comfortable enough personally. To use it until SubC comes up to speed, anyway.
kerravon wrote:
I have an expectation that at least one person in the world for the last 35-50 years would have seen the need for a C compiler and made their freeware C compiler public domain rather than put it under a job-hunting license. I mean seriously - do you think someone would publish a public domain C compiler and then someone else would remove the name and we'll never figure out who the original author is in order to give him the (non-existent) job instead?
Would the author themselves be able to use their own work in a setting different than public domain?
Yes, absolutely. The same as they can use Shakespeare's "Hamlet" in any setting whatsoever. There is no-one to seek approval from.
If not, they are not going to put their best work, or any work at all, out there.
I'm not expecting people to put their best work out there at all. Not for free. I'm just expecting something very basic so that it at least exists.
kerravon wrote:
Sure. And not one person, worldwide, has a combination of the skills and willingness to make a public domain one.
True. The lives of most of the people have to be very 'optimized' - there's not much room for mistakes that may harm their day-job or cause them to get entangled in legal matters. Would Chris Lattner write a public domain compiler, and risk scrutiny by his previous employers like Apple who hold copyrights on the work he did while he was employed there?
This isn't a question about one individual. I'm talking about people who write a free one anyway - for whatever reason someone is willing to do volunteer work - and irrespective of past work - but then insist on slapping a copyright notice on it.
What exactly does he have to do, to ensure that his public domain compiler does not conflict with his prior work that he doesn't own? Would Apple have retained him if he had insisted on keeping his work in public domain?
Replacing "public domain" with "freeware" - that is a separate issue that people need to decide on. As far as I am aware, it is freedom of thought/speech for me to write a body of code that does something identical to some paid commercial work I did. The algorithm used certainly isn't copyrightable - only patentable. I don't think anyone can stop you from doing your best to paint the Mona Lisa (or some other painting in copyright) as you remember it either. At that point it's your brain, your speech, your painting. You presumably can't have it sitting next to you as you draw your painting though.
My suggestion was not choosing the flavor-of-the-day language, but a language that is simple to implement an interpreter for, so that this dependency on GCC can be avoided. Didn't Apple hire Chris for similar reasons of avoiding GCC - they weren't comfortable with GCC's licensing? But in our case, us being single individuals, can't afford to pay some-one like Chris to build a public domain compiler. I guess that even after he (or other compiler devs) retires from all this, given that he would not own much of his work on LLVM, he wouldn't be allowed to replicate such a compiler (or a skeleton thereof) in public domain.
I don't think that is correct. It would be a violation of freedom of speech for him to not be able to write a C compiler outside of someone else's employment. Your employer doesn't get to take away your human rights. The most I've heard of is someone not being able to work for a competing company, or opening a competing company, within x months/years of leaving an employer, but that has nothing to do with copyright, and you do effectively enter into a contract to give up what would normally be considered your human right. But I don't think that is even legally enforceable. But you signed it anyway, so you should presumably need to live up to a gentleman's agreement at least. I guess it could be worded as "competing product". But again - that contract has an end date as far as I know.
kerravon wrote:
I have "Sector C" already, and I have written a C version called "Multisector C". I didn't really understand the algorithm, but I understood it sufficiently. So yes, one of the things I will potentially do is start with Sector C language and try to fight my way out. I suspect I'll be dead before that happens though. I'm 56 currently. And as you can see, I am still busy with other things I think have higher priority currently.
There are still options, as the one about not allowing GCC to even generate the calls to RuntimeLibrary, that can be considered before anything that is so subtantial that may affect your health.
Sure, but the risk of FSF suing me (actually, that's not something I seriously think is going to happen - what I want to do is be in a strong position to debate with people like right now) for cloning the internal interface of their functions needs to be weighed up against the much larger risk of dying in a car accident. And I've yet to meet one person who refuses to get into a car because they found out last year's road toll and would rather walk instead. In NSW/Australia they have a "double demerits" scheme for long weekends. It's completely pointless - people don't die at a higher rate - but for whatever reason the media likes to publish the death toll from long weekends, so someone made stiffer penalties (everything doubled). And people do indeed warn you "oh - watch out - it's double demerits". Not one person has ever said to me "oh, be careful this Easter - last Easter x number of people died - you might be next!".
And people warn me to not post personal information on the internet because supposedly there is a massive number of murders/rapes/abductions that happened purely because of a Facebook post, not because the victim lived next door and was already known. But when I press them for the number to find out whether it's larger than the road toll - which they don't give a **** about when they are faced with walking or catching public transport - all I hear are crickets chirping.
So yeah - keep it in perspective, and don't read too much into my position. I'm pretty sure that the FSF won't suddenly start suing people for linking libgcc into their executables. But then again I've been pretty sure about lots of things and been flat out wrong. Like a US president would ever claim US elections were fraudulent after he lost. And an ex military general (Flynn) goading him to declare martial law because it's "no big deal". And the majority of Americans apparently not finding that problematic and about to elect him again. I was and remain shocked to the core. What's more problematic is that I wasn't able to predict that, and got my prediction entirely wrong. I apparently have some sort of problem with my knowledge-gathering technique or something which still hasn't been corrected. I live in the Philippines currently. Maybe tomorrow I will find out that 99% of Filipinos were closet NPA supporters all this time and I now live under a communist dictatorship and I'm not allowed to leave and I'm jailed for being a western capitalist pig-dog.
So I am indeed looking for "clean" executables - but I've already achieved that to my satisfaction. This ARM floating point was an anomaly - I didn't expect that a processor wouldn't have hardware floating point available. Or in this case, apparently require privilege to enable.
What I haven't achieved is a clean toolchain - the C compiler being the Achilles Heel - so close but yet so far.