Log in

View Full Version : Reverse engineering discussion


Sergey A. Sablin
12th June 2008, 13:28
Know why? Mainconcept's "film grain optimization" is nothing but a bias in favor of inter blocks. Just a simple, one-line, non-adaptive numerical bias :p

would it more fair to say that you have nearly two years old version plus you spent a lot of time looking at the output of this encoder to manage how even to deal with grain?
but what you've said makes me think that perhaps you do something ... mmm... illegal? Or did I miss something and reverse engineering is now allowed in USA?

DarkZell666
12th June 2008, 13:47
would it more fair to say that you have nearly two years old version plus you spent a lot of time looking at the output of this encoder to manage how even to deal with grain?
but what you've said makes me think that perhaps you do something ... mmm... illegal? Or did I miss something and reverse engineering is now allowed in USA?

I'm sorry but I'll have to say something here : There's no way USA can stop someone actually using his brain. It's about time they realised that. No wonder why the world's going wrong ...
And analyzing bitstreams isn't illegal AFAIK, bitstreams are meant to be read in the first place, remember ? :]

Edit : And it's not like he even stole MC's idea and said it was his, he's giving MC "credit" for the "biais" idea, and he did his own research, so just give him a break :)

Dark Shikari
12th June 2008, 14:56
would it more fair to say that you have nearly two years old version plus you spent a lot of time looking at the output of this encoder to manage how even to deal with grain?
but what you've said makes me think that perhaps you do something ... mmm... illegal? Or did I miss something and reverse engineering is now allowed in USA?Reverse engineering is entirely legal, and always has been (at least in the USA, and at least in the form of "Clean Room" reverse engineering). If reverse-engineering was illegal, a large portion of x264 (such as a good bit of the assembly) would be illegal. So would AMD and Intel processors, because both contain elements reverse-engineered from the other.

But I didn't get that information from reverse-engineering the code; I got it from the documentation :p

I highly doubt this "FGO" feature of theirs has changed much, given the documentation I used as my source was quite recent--certainly not two years old.

I definitely did not use much of their idea though; it only gave me the thought that "more inter blocks == good," not how to reach such a state. Their method is the most blatantly obvious/bruteforce method, and accordingly does not work very well.

Sergey A. Sablin
12th June 2008, 15:41
I'm sorry but I'll have to say something here : There's no way USA can stop someone actually using his brain. It's about time they realised that. No wonder why the world's going wrong ...
And analyzing bitstreams isn't illegal AFAIK, bitstreams are meant to be read in the first place, remember ? :]

I do, I do, I just can't get how
Mainconcept's "film grain optimization" is nothing but a bias in favor of inter blocks. Just a simple, one-line, non-adaptive numerical bias
may stand for bitstream analyze. Do you?


Reverse engineering is entirely legal, and always has been (at least in the USA, and at least in the form of "Clean Room" reverse engineering).
even if this against the license agreement?

But I didn't get that information from reverse-engineering the code; I got it from the documentation
could you give me a favor to point out where it states in doc how certain feature is implemented? Especially how many code lines each feature takes?

And I can tell you quite confidently that I highly doubt this "FGO" feature of theirs has changed much, given the documentation I used as my source was quite recent--certainly not two years old.
I can tell you, not just confidently, but 100% exact, that it doesn't. BUT, it doesn't mean neither that it is implemented like you said, nor it makes you an excuse to RE the application, the license on which prohibits to do so.

Dark Shikari
12th June 2008, 15:47
I do, I do, I just can't get how

may stand for bitstream analyze. Do you?Most of my work was from throwing their streams in Elecard Streameye. Reading the actual docs confirmed my suspicions: it was a simple numerical bias, nothing else.

"One line" is simply expressing its simplicity; obviously they could put it on 1500 lines of code if they wanted, but it only would need one line to be implemented in x264.even if this against the license agreement?License agreements don't mean anything. Most courts worldwide, including those in the US, agree that license agreements cannot enforce any rules that are not already in force of law.could you give me a favor to point out where it states in doc how certain feature is implemented? Especially how many code lines each feature takes?See above.
nor it makes you an excuse to RE the application, the license on which prohibits to do so.The license can say whatever it wants, but it cannot revoke my privileges afforded to me by the rule of law. This entire site rests on this concept; just because a DVD says "you can't rip me" doesn't mean you can't rip the DVD. If you disagree with that, you probably shouldn't be on Doom9.

You tried to troll on my blog, but I didn't let you, so instead you brought your trolls here. This is ridiculous; please refrain from these sort of unfounded claims.

Sergey A. Sablin
12th June 2008, 16:57
The license can say whatever it wants, but it cannot revoke my privileges afforded to me by the rule of law. This entire site rests on this concept; just because a DVD says "you can't rip me" doesn't mean you can't rip the DVD.

I definitely didn't read USA law suit on this matter, but the question then (may be someone else can comment):
could you please comment on recent DCMA complaint on CoreAVC linux project? Why the hell it was closed down? Rumor has it, it was all over about RE. Am I wrong again? Or the USA law is specifically against this very project and it doesn't apply to other projects?


You tried to troll on my blog, but I didn't let you, so instead you brought your trolls here. This is ridiculous; please refrain from these sort of unfounded claims.

unfounded claims??? me???
I believe saying what you don't no exactly is unfounded claims, like how something is implemented, who use what and claim that algorithm of commercial programs are described in the documentation. that is ridiculous.


edit. I beg my apologies to the members for the OT, I have no intention to hijack the thread... just replying to what I believe is wrong or incorrect.

Dark Shikari
12th June 2008, 17:06
could you please comment on recent DCMA complaint on CoreAVC linux project? Why the hell it was closed down? Rumor has it, it was all over about RE. Am I wrong again? Or the USA law is specifically against this very project and it doesn't apply to other projects?It was actually a mistake, and CoreAVC (as far as I know) worked with Google to put it back up.

The main reason is because companies these days will pretty much follow a DMCA request without question regardless of its legality; this is used by many abusive companies also to (e.g.) get completely legal videos taken down from Youtube.

Razorholt
12th June 2008, 21:22
@DS: that's why he's picking on you: http://www.linkedin.com/in/sergeysablin



Senior software developer
MainConcept
(Privately Held; 51-200 employees; Information Technology and Services industry)

May 2005 — February 2007 (1 year 10 months)

Head of H.264/AVC video codec development,
VC-1 codec development,
MPEG-2/4p2 encoder development,
video processing and compression algorithms.



@Sergey: You see, that's the game and you should know you better. First, you develop a software and you think that by using patents you can be protected. Unfortunately, patents DO NOT prevent anybody from looking at what you do and "steal" your idea in order to create an open source version. That's why my software is not patented. Instead I'm trying to become successful enough for my customers to remain loyal to my products. Skype hasn't got any patent and a company in Japan reverse engineered their software. But it's too late. Skype already has 200 million users :)

So, deal with it and move on. There is nothing you can do except bothering our great x264 developers. Go back to work!

Sorry for the OT.

- Dan

Dark Shikari
12th June 2008, 21:25
Senior software developer
MainConcept
(Privately Held; 51-200 employees; Information Technology and Services industry)

May 2005 — February 2007 (1 year 10 months)

Head of H.264/AVC video codec development,
VC-1 codec development,
MPEG-2/4p2 encoder development,
video processing and compression algorithms.
I see, he's just angry that we've managed to make a faster and better-quality encoder than they have despite their massive resources. Well I can't really blame them; they don't have Loren!

I'm guessing his sharp response to my comment about "one line" and "simple numerical bias" means that I'm right about that, eh? ;)

Razorholt
12th June 2008, 21:31
I see, he's just angry that we've managed to make a faster and better-quality encoder than they have despite their massive resources. Well I can't really blame them; they don't have Loren!

I'm guessing his angry response to my comment about "one line" and "simple numerical bias" means that I'm right about that, eh? ;)

That's a good indication that you guys are making great progress. x264 is becoming a threat to those paid solutions. Not that I am against paying for software but when the free ones are better... :)

Keep up the good job!

Atak_Snajpera
12th June 2008, 22:48
Once again free open software is better that commercial :)

Sergey A. Sablin
13th June 2008, 00:14
I'll try to reply to everybody at once. (and yes, thanks - I'm working pretty much every day without your suggestions)

1. Where did I have said anything about patents? If you want to catch me or whatever you want - read those two replies. It's not that hard.
License and RE is what I was talking about. If you'll say me that stealing of code (that's what RE practically means) is allowed in USA - I'm not gonna believe.

2. "I see, he's just angry that we've managed to make a faster and better-quality encoder than they have despite their massive resources."
and you're talking about unfounded claims? why everybody keeps thinking that commercial companies have much more resources? Why don't you want to count the number of testers at least commercial and OSS solutions have? Give me your best - bet how many devs are/were working on this and if it'll be anyhow more than the number of regular x264 contributors you're clearly mistaken ;)
you'd be better read something about business models over OSS projects - specifically how it's effective (you wonder why) because you have a lot of human power, mostly for free.

3. "That's a good indication that you guys are making great progress."
that's just a good indication that it gets me to hear that other solutions are bad. is it the only way to promote projects over here?

Have I said somewhere that x264 is bad, slow, buggy or something? Have I said somewhere, that it is beaten by head and shoulders by any other solution? Any offenses from me or anybody else? Why the hell then you are keep saying unproven facts (not very complimentary btw) about other products?

It's always good to have free solutions or even just simple competitor, you'll be wrong if you say I don't think so. But does this mean that developing a free solution is an excuse to blame other solutions? there is plenty ways to show that your solution/project is better - without spreading unproven rumors about other products. it definitely doesn't make good (put whatever you like here - best, superior, brilliant, whatever) solution anyhow better if you're trying to look better by blemish competitors.

foxyshadis
13th June 2008, 00:57
Razorholt, dark shikari: Keep the flaming out of the discussion.

Razorholt: You completely misunderstand the discussion; it's not a matter of patents but of copyright. Patents apply to h.264, copyright applies to its implementations.

Sergey: Reverse engineering is legal, your definition is wrong - look it up. Copying code (compiled or decompiled) into another product is not legal and often easily discovered. Copying an algorithm based on disassembly isn't legal but recreating it from intuition and testing is, and the difference may be impossible to discern. Proving the algorithmic theft is what ties up courts for years and enriches the lawyers. Also, this kind of hasty jumping to conclusions and public accusations is what causes bad blood, damaged reputations or embarassment, can easily lead to libel countersuits, and could damage your case if you had a legitimate one - consult a lawyer and company management if you genuinely believe you have a valid concern, let them take care of the issue. Especially given that Dark can point out where in the documentation his claim came from, the accusation is embarassing.

Atak_Snajpera: This isn't a FLOSS advocacy discussion. Take it to slashdot or another thread.

Razorholt
13th June 2008, 02:12
Aren't we talking about exclusive rights here?

Razorholt
13th June 2008, 02:18
Another question: If a x264 developer can "legally" reverse engineer codes from companies such as Mainconcept, can Mainconcept copy or "get inspired" by x264's codes? Does it work both ways?

Dark Shikari
13th June 2008, 02:23
Another question: If a x264 developer can "legally" reverse engineer codes from companies such as Mainconcept, can Mainconcept copy or "get inspired" by x264's codes? Does it work both ways?Obviously you can't directly copy code, and you have to be careful since while we cannot read Mainconcept's code, they can read ours, and so its a bit easier to get "carried away."

However, as far as I know it is impossible to copyright an algorithm--one may only patent an algorithm. Therefore, the only way I could legally stop anyone from using x264's algorithms is if I went out and patented them (and then gave an irrevocable release to x264 to allow it to use the patented algorithm). Even then, software patents are nearly impossible to enforce and are generally pretty much BS overall.

So yes, it goes both ways, and that's how its generally done in the industry; its standard operating procedure to at a minimum analyze your competitor's streams, and quite often their programs, too.

Razorholt
13th June 2008, 02:53
However, as far as I know it is impossible to copyright an algorithm--one may only patent an algorithm.

This is why I brought up the patent issue in my early post. I was assuming - probably incorrectly - that Sergey was somehow accusing you of patent infringement throughout reverse engineering. So Mainconcept believes that their algorythms are fully protected by copyrights only?

@Sergey: Do not let yourself believe that I'm fuelling the OS vs Commercial projects war - Two different models for two different legitimate goals. Like I said, I memtioned the patent case because I thought you were talking about exclusive rights infringement. Now, how many projects started OS, used free resources - i.e. members of forums like doom9 for testing purposes - and ended up being a commercial solution? And honestly I won't be surprised if I learnt that Mainconcept developers got "inspired" by x264 codes. I'm not saying this is the reason why you're a member of that forum :).

DigitAl56K
13th June 2008, 03:14
Preface: I'm posting because I'm interested in the discussion, I don't want to make any assertions against anyone.

Copyright is an interesting case, and foxyshadis makes some interesting commentary. I find the GPL interesting in that it draws its strength from copyright.

Quoting GPLv2:
You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

The license protects against redistribution of modified or derivative works, which means that even though algorithms themselves can't be copyrighted (they would be patented), it's still no good to lift code from a product, modify it (create a derivative), and then use it in your own product. foxyshadis is right though, these kind of things are where lawyers make their money. Outside of the GPL other licenses frequently place similar restrictions. Redistributing derived code creates a complete mess in terms of licensing. Solely as an example, what if a user of a GPL product redistributes a GPL'd work that contains code derived from a closed source commercially licensed product? If the GPL'd authors didn't respect the copyright of the commercial authors, then why should the GPL be respected? It also works the other way, of course.

With regards to reversing, there are usually laws around how it may be done legally. Clean room design may be needed to avoid infringing copyrights:

From Wikipedia:
Typically, a clean room design is done by having someone examine the system to be reimplemented and having this person write a specification. This specification is then reviewed by a lawyer to ensure that no copyrighted material is included. The specification is then implemented by a team with no connection to the original examiners.

its standard operating procedure to at a minimum analyze your competitor's streams, and quite often their programs, too.

Looking at someone else's code and then directly implementing the same thing in a similar manner probably isn't the best plan ever. Not implying that you're doing so btw :) You may remember that the ReactOS project spent many months, if not years auditing their code (http://developers.slashdot.org/article.pl?sid=06/02/01/1944257) because a developer reversing parts of Windows may also have been involved with re-implementing the same routines.

<edit>I also think it's worth mentioning that as far as I understand, the much-debated DMCA allows for certain kinds of reversing, but only for very specific purposes (http://www.chillingeffects.org/reverse/faq.cgi#QID210). It also says the program must have been obtained legally, so I would assume that means you're otherwise in compliance with the license. Of course, laws vary by country.</edit>

My personal opinion is that it's bad juju to steal code. Even if you take someone else's code (therefore someone else's work) and change it a bit, really what you're doing is stealing their work and trying to disguise the fact. Of course, some developers put their code out there in the open for others to see, use, modify and redistribute, sometimes there are licenses attached with certain requirements for doing so (e.g. GPL), other times the work is contributed freely to the public domain. Sometimes there are also other factors at play. For example, if we take something that is well understood, like a DCT for a particular purpose, it's likely that many people have separately derived very similar assembly routines over the years.

Anyway, it's an interesting discussion. Personally I like an environment where we all try to learn from each other and then collaborate to improve our various projects through genuine innovation.

Audionut
13th June 2008, 09:20
I was reading an article that discussed this.

All bios were originally reversed engineered.

Team one disassembles the bios. Then provides team two with all the ideas and the needs they want for a bios based on the original disassembled bios.
Team two codes the bios.

As team two hasn't seen the disassembled bios, they code it their own way. Hence it's entirely legal as there's no copied code.


That's what I remember anyway. I can dig up the article for a more thorough explanation if needed.

Sergey A. Sablin
13th June 2008, 09:53
This is why I brought up the patent issue in my early post. I was assuming - probably incorrectly - that Sergey was somehow accusing you of patent infringement throughout reverse engineering. So Mainconcept believes that their algorythms are fully protected by copyrights only?
Don't you get it? I'm not working there for more than 1.5 year. Do you even bother to read what you've post? It's only me who believes, that stealing is bad - in any jurisdiction. Copyrighted code, patented or whatever. And I believe it's not tough to show to everybody that you do so (yes it's hard process, it requires a clever mind, but nevertheless it is still stealing). And in case of you didn't do so - it's not tough either to blemish other projects for what you shall not know about.

Just to make it a bit more clear - have no intention to talk about law details, legal it or not. It's bad just to steal and reimplement something. If you smart enough to do your own implementation by just analyzing output - good, go ahead. But if you need to RE the code to understand what's going on - I get it as stealing, which is bad. Simple as that.

@Sergey: Do not let yourself believe that I'm fuelling the OS vs Commercial projects war - Two different models for two different legitimate goals. Like I said, I memtioned the patent case because I thought you were talking about exclusive rights infringement. Now, how many projects started OS, used free resources - i.e. members of forums like doom9 for testing purposes - and ended up being a commercial solution?

for example:
http://en.wikipedia.org/wiki/Commercial_open_source_applications
btw projects may stay as OS, just like x264 does ;) however somebody is doing business over it, ha?

And honestly I won't be surprised if I learnt that Mainconcept developers got "inspired" by x264 codes. I'm not saying this is the reason why you're a member of that forum :).
is it an accusation? or it's just the best you can do? or you just believe that the only reason people from com may come here is to steal something? This all forum looks much more limited and useless from your point of view...

PS. it's interesting discussion about clean room RE though. Really, haven't heard anything about this before.

Gabriel_Bouvigne
13th June 2008, 10:20
Disclaimer: this post only states my own personal opinion, so I might be right or wrong, that doesn't really matter, as this is just a statement of my own view.

Side 1: open source code read by other software developers
To me, open source implies open knowledge, thus I'm perfectly fine with anyone reading it, and using the ideas/algorithms exposed by the open source code. Thus they will think about it, build something new/enhanced/different on top of it, and all the products will then progress.
What would bother me would be a re-use of the copyrighted assets (ie source code) in violation of the license granted by the copyright owner. However, within codecs, what is important is the ideas, the actual code lines are way less valuable than the underlying ideas. Thus, it would be very unlikely for a commercial product to re-use something under copyright, there would be no point. (the only exception being a few rare dodgy cases of some mis-appropriation of a whole encoder/decoder)

Side 2: use of commercial, closed-source to enhance open source software.
I am a proponent of "clean" reverse engineering, by analyzing the output streams of other codecs. I don't see any moral problem within this, as you have to guess yourself what kind of algorithm could be used to produce this or that feature within the stream.
I don't like the idea of going to the dissassembly level to analyse the behavior of an encoder/decoder. However, I don't mind dumping tables or objects names to gather information. Of course, I know that "reverse engineering" in the way of disassembly is often used, including in order to produce some software I am using. I have to live with that, it's just that it doesn't fit within my own "ideal" view of things. (and it doesn't fit within my own definition on "reverse engineering")

DarkZell666
13th June 2008, 11:13
but what you've said makes me think that perhaps you do something ... mmm... illegal? Or did I miss something and reverse engineering is now allowed in USA?

Just to make it a bit more clear - have no intention to talk about law details, legal it or not. It's bad just to steal and reimplement something.

... no comment ;)

And to come back to DS's finding that MC uses a bias in favor of inter-blocks, as I said earlier, he didn't even steal it and say it was his idea, he actually gave credit to MC for it. So other that making unfounded claims, you were victim of your own personal bias in favor of ... what already ?

DigitAl56K
13th June 2008, 11:22
@Audionut: Yes, this is how we arrived at the "IBM PC Compatible". The first team creates a specification that I believe would cover the inputs and outputs of the system and perhaps the functionality but I doubt the fine details of the code since at some point too much detail would result in a derivative (infringing) work being created. This is probably why wikipedia mentions that a lawyer will generally review the spec before the re-implementation by the second team takes place. I believe where copyright is contested the onus may be very much on the reversing party to provide good documentation of their work and practices in order to prove non-infringement.

Now, I bet that not every project out there has a legal team to review specifications! In my opinion what is most important is to understand why people jump through all of these hoops. It is to ensure that while you might need to know how something works in order to create something that is interoperable or perhaps provides similar functionality, that the work you create is actually your own. If/when you are reversing by dissassmbly, think about how removed your own processes are from the concept of clean room design, and then give some thought to how this may be affecting the code that you are actually writing. Is it really your own work? If it is, then IMO that's okay.

@Gabriel_Bouvigne: Pretty much agree with you. In terms of learning from the ideas of others you do have to be aware of patents also. I think if the work you ultimately produce is not copied or derived you might only discover you're potentially infringing patents when someones lawyer writes you a nasty letter. Patents of course are another hotly debated issue, and I think as far as reversing is concerned copyright issues are more important with regards to what is "ethical".

Razorholt
13th June 2008, 14:06
is it an accusation? or it's just the best you can do? or you just believe that the only reason people from com may come here is to steal something? This all forum looks much more limited and useless from your point of view...
would it more fair to say that you have nearly two years old version plus you spent a lot of time looking at the output of this encoder to manage how even to deal with grain?
but what you've said makes me think that perhaps you do something ... mmm... illegal? Or did I miss something and reverse engineering is now allowed in USA?

I'm not accusing you of anything, I was just returning the favor ;)


Don't you get it? I'm not working there for more than 1.5 year. Do you even bother to read what you've post?

You worked at Mainconcept from May 2005 to February 2007 and you joined this forum in 2004. You see? I do get it and I read all your posts :)

My point is that RE is not morally acceptable but legally tolerated, whether you like it or not. And before you misunderstand me, no, I'm obviously not supporting RE.

JohnnyMalaria
13th June 2008, 16:16
Sergey, you *used* to work for MC (until Feb 2007) - so here's a question:

How do you prevent yourself from using MC's technology (that you helped develop) in you new position? How can you just switch off that part of your brain housing that knowledge? How can you develop something new without borrowing from your experience at MC and any earlier employers?

BTW, in the US, the Supreme Court is very supportive of reverse engineering. To prevent it, you must at least have a licensing agreement that expressly forbids it. However, this isn't necessarily going to protect you as it is dependent on the prevailing jurisdiction.

Let's say I buy a lawnmower (a fancy one). I pay my money and take it home. No agreements of any kind. If I want to reverse engineer the zero turn mechanism, I can. And if I had the resources, I could improve it and sell my own. But if the manufacturer provides me with one to test (perhaps for a review) and I sign an agreement stating that I can only use it for its intended purpose and will not disassemble, reverse engineer etc, then I am not permitted to do so.

For my own software, I'd be very honored if someone took the time to try to work out all my clever tricks. In fact, I have already shared some of them on various discussion boards.

Sergey A. Sablin
13th June 2008, 21:04
Sergey, you *used* to work for MC (until Feb 2007) - so here's a question:

How do you prevent yourself from using MC's technology (that you helped develop) in you new position? How can you just switch off that part of your brain housing that knowledge? How can you develop something new without borrowing from your experience at MC and any earlier employers?

if algorithm is not patented, then I can use it, as this is the part of my knowledge and experience - I can't cut the part of my brain as you said. BUT, I can't/don't/won't use source codes (not to mention RE of my own codes), any papers maid during this work, anything, to make the work for other employer. This is against my moral principles. I'm getting paid for a work - and I'm not too lazy to really work for that money. Especially 'cause I'm having pleasure to implement something new.
I believe that's "correct" (can't find proper expression) way to continue work/development.

...But if the manufacturer provides me with one to test (perhaps for a review) and I sign an agreement stating that I can only use it for its intended purpose and will not disassemble, reverse engineer etc, then I am not permitted to do so.

that's what almost all licenses say. including the ones we're talking about here.

yet again - I'm not doing statements that anybody RE the code, but the statements were made either totally unproven (and was blemish. credits? come on! would I open your eyes if I say that credits almost every time started from "thanks...") or have been found by the mean of RE (I personally don't believe in so, cause the statement is incorrect anyway). Either of which is not respected by me. That was the initial point.

You worked at Mainconcept from May 2005 to February 2007 and you joined this forum in 2004. You see? I do get it and I read all your posts :)
it's too long and complicated logic for me. God bless me anyway - I haven't post too much, so I believe it didn't take too much of your time to read all my posts since 2004 ;)

My point is that RE is not morally acceptable but legally tolerated, whether you like it or not. And before you misunderstand me, no, I'm obviously not supporting RE.
Razorholt, I can't, misunderstand you here. That's the part of my point as well.


For my own software, I'd be very honored if someone took the time to try to work out all my clever tricks. In fact, I have already shared some of them on various discussion boards.
It really depends on you initial goals and how it's all going on. Just imagine, Johnny, will you have same fun when somebody will blame your work and will try to derive something from it at the same moment to his own project? I guess you won't be honored anymore. (well, at least)

Fizick
21st June 2008, 23:42
Prometheus stealed (RE the code of) Fire from gods and bring it to people.
Now it is called as "Prometheus's fire".
:)