Login
Username:

Password:

Remember me



Lost Password?

Register now!
Main Menu
Who's Online
1 user(s) are online (1 user(s) are browsing Forum)

Members: 0
Guests: 1

more...

Browsing this Thread:   1 Anonymous Users



(1) 2 3 4 »


Reverse-engineering & AROS license

Joined:
2013/4/21 1:35
From Germany
Group:
Member
Posts: 272
Offline
Following / re-translating something from this ( http://aros-exec.org/modules/newbb/vi ... 9&topic_id=10459&forum=14 ) discussion, I'll try to synthesize the main points, in order to ask clarifications for some things which are interesting for developers regarding reverse-engineering & work derived from reverse engineering, and what's possible to do peeking at the AROS sources (which are covered by a license which, I have HEARD, it's "viral").

1: Reverse-engineering & derived work (patches). In some countries it's illegal to do this practice, but not in others.
What happens if a binary (coming from ROM, libraries, application, etc.) is disassembled, and then a derived work (patching bugs, improving / extending the functionality / optimizing the code) is generated?
Is it legal (read: in ALL countries. Even the ones where the reverse-engineering isn't allowed) to create a patch to be applied directly to the original (generating a patched binary)? Is it legal to substitute the original code with mechanism like the (in)famous SetFunction?

2): Gray area - work derived from "inspiration" from (taking a look to) reverse-engineered code. No patches are generated like at point 1, but how far / is it possible (read: LEGALLY! Worldwide) to produce NEW code from the study of disassembled code?
I've read some times that AROS followed a "clean-room" approach to the code development. Did it come also from reversing & studying the original Amiga o.s. code?
In general, is it possible to contribute to AROS this way (studying disassembled code, and producing completely new code)? Partially answering to this, MAYBE (it's MY idea) it can be achieved using a "two-persons" approach: one disassemble & study the code, which then "verbally" instructs another guy about what the original code MEANS.

3) Deriving code from AROS. Premise: I don't know exactly the viral effects of the license used by AROS. But let's say that I want to write something like a (P)AOW (Python Amiga-on-Windows) tool which allows to run the Amiga o.s. binaries in a fully integrated manner on Windows (but it maybe any other o.s., if the host o.s. interface is clearly defined).
Is it legal to peek at the AROS sources to see how the functions / APIs (not all: only some from exec, dos, graphic, intuition, etc.) works, and completely rewriting them from scratch (which is obvious, since a mixture of Python and x64 JIT will not look at all like the original C)?

I think I've covered everything. I hope that his helps ross (a new user which joined some days ago) to solve its problems.

Posted on: 5/15 22:28
Transfer the post to other applications Transfer


Re: Reverse-engineering & AROS license

Joined:
2011/3/7 1:41
From Nürnberg, Deutschland
Group:
Member
Posts: 1346
Offline
and we are the only community creating even problems where no are

hope this helps too :)

there is even a project 1:1 copying windows as open source including every concept and system file and (surprise surprise) Microsoft is not going against it and I assume that they have both enough money and attorneys to that. Aros was created 1995, at a time where at least commodore successors were still active and nobody was against it. And now (just 20 years later) people are starting senseless legal debates. What about helping Aros? Just a idea and much more constructive

Posted on: 5/16 1:41
Transfer the post to other applications Transfer


Re: Reverse-engineering & AROS license
Sysop
Joined:
2006/3/15 20:40
Group:
Administrators
Posts: 93
Offline

Anything you mentioned above is legally risky. There is no such thing as a guide to stay out of risk when doing reverse engineering. Depending on what your reverse engineering and how, you can follow some guidelines to mitigate the risk you could take, and if it would be for a commercial product, a lawyer should in any case be consulted.

Yes, aros has done reverse engineering and without it aros would not exist, leaving the specifics aside, there is no guarantee of potential lawsuits. 


Posted on: 5/16 2:08
Transfer the post to other applications Transfer


Re: Reverse-engineering & AROS license

Joined:
2004/4/7 4:26
Group:
Member
Posts: 4341
Offline
Ok, let's try to sort out something

@cdmauro

Quote:

I've read some times that AROS followed a "clean-room" approach to the code development. Did it come also from reversing & studying the original Amiga o.s. code?
In general, is it possible to contribute to AROS this way (studying disassembled code, and producing completely new code)? Partially answering to this, MAYBE (it's MY idea) it can be achieved using a "two-persons" approach: one disassemble & study the code, which then "verbally" instructs another guy about what the original code MEANS.


You just described how a clean-room approach works. No more, no less: one person studies the technology (in this case, the code) and writes a draft about how things work, then another person studies the documentation and reimplements the technology his own way, in order to achieve the same result. This clean-room approach is the one - I was told - even AMD used to replicate some features Intel processors had.

There is, however, an issue. Theoretically, the first one must be legally entitled to look at the technology. This means you should live in a country allowing reverse-engineering if you are replicating a device, a processor, or something similar, or even better having a license or an approval from original's author/producer. Otherwise, you'd be in trouble.

So, in an ideal world applied to AROS, a clean room approach would be: 1) Amiga Inc, Hyperion, Cloanto or whoever OWNs (please notice: OWNs, not "is licensed to use") AmigaOS sources picks one or more individuals among the AROS team (OR, even better, a independent developer) and lets him/them to peek at the code. Then, he/they could write documentation the rest of AROS team will use to develop their clone. Unluckily, persons that saw the code could not be allowed to contribute directly to AROS anymore (that's for NDA they would be surely forced to sign).

The real world, however, is very different from the theoretical one.

In the REAL world, if you look at any disassembled/pirated-source code and then you rewrite it in a similar fashion, adopting different solutions to reach the same result, THEN simply NOBODY will ever be able to prove what you did. Not counting the fact they should even prove you actually saw the code, which will be another though challenge which, in the most realistic case, will end up with them being forced to pay you for the moral damages of their unproven accusations.

In the REAL world companies must pay a lot of money for trials, attorneys, researches, and companies surrounding the Amiga world are just too small to afford them. In the most realistic scenario, they won't ever go further than a C&D email from a lawyer, hoping it will be enough to scare the "offenders". Add to equation the extreme fragmentation of IPs, trademarks, sources, copyrights inherited from Commodore and successors foldings, and there's even the risk that people claiming to own this or that, instead, had no full rights to do so. Rules, by the way, are different in each country, so this means also the possible need of repeating the same journey in different places, multiplying expenses.

@Olafs3

Quote:
Aros was created 1995, at a time where at least commodore successors were still active and nobody was against it. And now (just 20 years later) people are starting senseless legal debates. What about helping Aros? Just a idea and much more constructive


That's because of the sick, poor state of the Amiga platform as a whole: where innovation and real money lack, the only remaining things are dogmas like "the trademark", "the IP", "the copyright". Remnants, legacy of an antique golden era. This era has ended long ago, though. Please get real: we are talking about a 30-years old code no serious judge in the world would dare to spend a minute with. There are no millions of dollars involved in this market anymore, and all this talking about possible lawsuits is just a poor way to scare people. There's probably even nothing worth looking at, in AmigaOS 3.x code, anyway, since AROS has already progressed farther. So please stop all this madness and enjoy what AROS does.

Posted on: 5/16 8:02
_________________
p.bes
Icaros Desktop AROS distribution mantainer
Transfer the post to other applications Transfer


Re: Reverse-engineering & AROS license

Joined:
2004/10/30 17:13
From Ireland
Group:
Member
Posts: 2622
Offline
Regardless of whether we'd get away with any of the techniques suggested above, we don't use them. And the AROS licence isn't viral in the sense that the GPL is: it only requires that a source file taken from AROS and modified is re-released under the AROS licence. It doesn't affect other source files that are linked with it.

Posted on: 5/16 10:13
_________________
...
Transfer the post to other applications Transfer


Re: Reverse-engineering & AROS license

Joined:
5/2 17:15
From California, United States
Group:
Member
Posts: 70
Offline
@paolone wrote:

QUOTE:

"That's because of the sick, poor state of the Amiga platform as a whole: where innovation and real money lack, the only remaining things are dogmas like "the trademark", "the IP", "the copyright". Remnants, legacy of an antique golden era. This era has ended long ago, though. Please get real: we are talking about a 30-years old code no serious judge in the world would dare to spend a minute with. There are no millions of dollars involved
in this market anymore, and all this talking about possible lawsuits is just a poor way to scare people. There's probably even nothing worth looking at, in AmigaOS 3.x code, anyway, since AROS has already progressed farther. So please stop all this madness and enjoy what AROS does."

************************************

I must agree that, due to the current situation, the owners of OS4 or OS3.x allowing AROS devlopers the chance to cooperate with them in writing new code for AROS based on old sources is a remote possibility. This "distrust" or unwillingness to cooperate is caused mainly by the fragmentation that has happened in the Amiga community over the years since the demise of Commodore! But there have been recent indications that that situation may change, and in turn offering us all better software and hardware to choose from.

As far as "Reverse Engineering" or "Clean-Room Reverse Engineering" we must make some distinctions and clarifications. If we examine a piece of software and take note of its functionality then recreate that using all original code that is not Reverse Engineering, that is called "Invention" and "Creativity"! For example if Apple writes code for Mac OS X that is similar to the "Snap-Together" windows that are used on newer versions of MS Windows that is perfectly ok as long as they implement it with new code. Likewise, if Microsoft creates their own version of the Mac OS "spinning wheel" progress indicator that is merely taking advantage of a good idea. And if AROS developers, myself included, port Linux modules
or libraries such as SDL, SDL Image, PNG Library, etc and we include this in our code, as long as we pay attention to the License for that software we are ok to copy, modify or use that Linux source code. Whether it is SDL, PNG, or another module called "AFFS" (Linux implementation of Amiga file systems) that interests me, using these sources is permitted. Some of my IFF-ILBM code is based on original codefrom SDL Image, and this may be quite useful to get AROS MultiView to be able to open and save IFF-ILBM.

When writing my icon and graphics programs whether I look at SDL sources or Directory Opus Magellan, or even if I make my user interface very similar to the look and feel of the Amiga OS 3.5 "Icon Edit" that is because of Nostalgia and Aesthetics. It isn't violating anything. Another example is the Apollo Team who have Re-implemented the 68k CPU code and the original AGA chipset while also improving upon them. These examples illustrate the difference between "Reverse Engineering" and "Re-implementation" base on
all original code. There is a difference! But perhaps more cooperation and cross-compiling and sharing or source code, where Licenses allow, is a good thing? That might help to repair some of the distrustand fragementation in the Amiga community of which AROS distros and other Amiga-like OS'es is a part. With that in mind, I intend to compile my software for multiple Amiga-like systems including AROS, AROS 68k, and even Amiga OS 68k if possible.

Posted on: 5/16 11:04
Transfer the post to other applications Transfer


Re: Reverse-engineering & AROS license

Joined:
2010/8/30 7:20
Group:
Member
Posts: 906
Offline
Quote:

ncafferkey wrote:
Regardless of whether we'd get away with any of the techniques suggested above, we don't use them. And the AROS licence isn't viral in the sense that the GPL is: it only requires that a source file taken from AROS and modified is re-released under the AROS licence. It doesn't affect other source files that are linked with it.


so in conclusion it seems that aros actually could be relicensed if need be?

Posted on: 5/16 12:02
Transfer the post to other applications Transfer


Re: Reverse-engineering & AROS license

Joined:
2013/4/21 1:35
From Germany
Group:
Member
Posts: 272
Offline
Legality MATTERS. And anyone which follows the Amiga scene knows it, since after the Commodore demise it was substantially all about legal disputes, citations, C&D, etc..

So, I thank everybody which has expressed opinions about the topic, which I think is really important.

It seems, however, that the AROS situation about how it was developed isn't that clear. Clean-room (no contamination at all) or taking a look at the Amiga o.s. reverse-engineered code? impulse says it was the latter, while ncafferkey no (from what I've understood).

I agree with paolone that the Amiga audience is so small and fragmented that it's quite unlikely that any legal action can be taken by some of the involved parties.

Nevertheless, I think that every people has an own belief / philosophy / ethic / moral, and it's important to have a not dubious picture of how AROS contributes came, and in general what's accepted/able. So, I hope that this thread will provides a final word about it.

Regarding the AROS license, it took me some time to study it, and I can confirm what ncafferkey said before: it's not viral like the GPL. It only requires to publish the files with portions of code which are either changed or incorporated in other new files.
It's a philosophy which I've nothing to say against, and that I GREATLY prefer against all other viral licenses.

There's, however, a (big for me) weak point when it talks about the patents and the rights (to use AROS sources) termination. I personally find it unfair that this way it wants to force patents owners to lose control about the fruit of their work, if they want to use AROS sources (nothing is stated about the binaries, fortunately).
This is something which will not affect 99,99% of the people, which usually aren't involved in patents et all, so it has quite low importance, but... it MIGHT. And it should be better published IMO (so that people is aware).

For what we've talked about, I think that it's quite evident that AROS sources are "peekable": anyone can take a look at them without incurring in possible license violations. That's a very good point.

To quickly recap the situation of the 3 points:
1 & 2 -> reverse-engineering is legally risky, but unlikely: the Amiga audience & owners are very small. So, derived work is possible: clean-room is better, but even "dirt-room" shouldn't create problems;
3 -> AROS license is OK, and looking at the source is no problem at only. The only issue is with patents.

@miker: reverse-engineering and re-implementation are completely different things, and there was no dispute about them.

As I said in the other (Italian thread), I know the ferment around the 68K platform, progresses of the Apollo team, open sourcing components, etc.

However I think that, like the PowerPC in the next future, it's a dead way. IMO 68K is all and only about retro-gaming/computing + nostalgia.
It's quite unlikely that this platform will revive, because too much time is past, and almost all amigans have switched to other hardware platforms, and o.ses too.

The hope is gone...

So, I don't believe in a sensible restarting of development of software only for 68K, even if an updated hardware platform will come.

What makes sense is PRESERVING the existing binaries (because for many of them this is the only thing available. And without sources -> no new versions), and executing them as well as possible.

And here comes my idea to fully integrate the Amiga 68K in the host o.s.: to better take advantage / enjoying of them, inside a living (our!) ecosystem.

Posted on: 5/16 13:05
Transfer the post to other applications Transfer


Re: Reverse-engineering & AROS license

Joined:
2010/8/30 7:20
Group:
Member
Posts: 906
Offline
comeback of 68k as a mainstrieam platform is certainly utopic. but the same applies to whatever brand of amiga-ng or the like, aros, even x64 and smp enabled, inclusive.

with the curent ferment arosund 68k, peole get motivated again to use it, work with and code for it. like it or not.

this could be mutual opportunity for both aros and 68k to bundle some efforts, which was denied for a long time. at last thats how i see it.

Posted on: 5/16 14:47
Transfer the post to other applications Transfer


Re: Reverse-engineering & AROS license

Joined:
2004/10/30 17:13
From Ireland
Group:
Member
Posts: 2622
Offline
Quote:

cdimauro wrote:

There's, however, a (big for me) weak point when it talks about the patents and the rights (to use AROS sources) termination. I personally find it unfair that this way it wants to force patents owners to lose control about the fruit of their work, if they want to use AROS sources (nothing is stated about the binaries, fortunately).
This is something which will not affect 99,99% of the people, which usually aren't involved in patents et all, so it has quite low importance, but... it MIGHT. And it should be better published IMO (so that people is aware).


I'm not sure if that's how the licence works: I suspect instead that its purpose is to stop someone distributing their code under the APL, and then entrapping people by making a patent claim against those who use it. However, I'm not much concerned about it, as I'm opposed to the concept of software patents anyway, and I know I'm not alone in the AROS community in holding this view. How about you?

Posted on: 5/16 17:27
Transfer the post to other applications Transfer



(1) 2 3 4 »



You can view topic.
You cannot start a new topic.
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.

[Advanced Search]


Search
Top Posters
1 paolone
paolone
4341
2 magorium
magorium
4095
3 phoenixkonsole
phoenixkonsole
3887
4 nikolaos
nikolaos
3677
5 deadwood
deadwood
2923
6 ncafferkey
ncafferkey
2622
7 mazze
mazze
2213
8 clusteruk
clusteruk
2097
9 Kalamatee
Kalamatee
2023
10 damocles
damocles
1789
© 2004-2017 AROS Exec