Page 2 of 3

Re: James Molloy tutorial gone

Posted: Sat Dec 24, 2011 11:44 pm
by Lionel
It is back up.

Re: James Molloy tutorial gone

Posted: Sun Dec 25, 2011 3:59 am
by wikiwolf
gravaera wrote: 1. Why are you using somebody else's code?
Because when I started I was only a C++ programmer with no experience in system programming...
Since it's not released, no licensing problems should occour, right?
Right now, the jamesm code is a very little part of the codebase and since it work with my code trought an interface, replacing it is only a matter of time.
gravaera wrote: 2. How could your project be ready for release when it relies on known, flawed code?
with 'release' I was speaking of alpha, nightbuild release... the system is not yet complete at this stage.
The jamesm is C code, I ported it to C++, modularized and corrected bugs. It's no longer vanilla code from tutorials.

gravaera wrote: 3. Where exactly do you think you're going with this lack-luster effort?
My objective is to learn system programming and I do it in free time. Problems?

I think we're going a little off-topic. Let's stop here, please.

Re: James Molloy tutorial gone

Posted: Sun Dec 25, 2011 8:52 pm
by gravaera
No well designed kernel can use code from the JamesM series. Any kernel which has been designed portably, extensibly and with any real thought cannot use code from that article collection. It's meant to demonstrate ideas and not to be incorporated. From the time you paste any code from that series into your kernel, you know that it is flawed from day one.

Re: James Molloy tutorial gone

Posted: Sun Dec 25, 2011 10:07 pm
by Synon
gravaera wrote:No well designed kernel can use code from the JamesM series. Any kernel which has been designed portably, extensibly and with any real thought cannot use code from that article collection. It's meant to demonstrate ideas and not to be incorporated. From the time you paste any code from that series into your kernel, you know that it is flawed from day one.
That's silly. When you learn to write games, you don't write an MMORPG with professional 3D graphics and a perfectly designed industry-quality game engine. You start off with something simple - a PacMan clone or even just a guy walking around. When you learn how to write a compiler, you don't write an optimising cross-platform C++ compiler, you write something simpler - maybe a Brainfuck compiler or a 6502 assembler. When you learn to write emulators you don't start with a fully featured x86 emulator. Similarly, when you learn to write a kernel, your goal shouldn't be to write the perfect kernel, with hitherto unthinkable features and brand new concepts; you write a UNIX or DOS clone, or something simple. You're learning how operating systems work and how to write one, not starting an OS revolution.

Maybe you can write a kernel so great your first time that academics and students study it and create derivatives of it (one of which is now the third most popular desktop OS in the world, and almost ubiquitous on servers). Most of us can't. Most of us have to learn how to do something before we actually do it.

Re: James Molloy tutorial gone

Posted: Sun Dec 25, 2011 11:43 pm
by gravaera
But for all of those cases, you don't paste code from another project into your tree and then call it yours. You, as you yourself said, write some preliminary code and think about the problem, design a solution, and read about current practices to see how the industry has come to do it, how that matches up with your own initial solution, and what optimizations current practice has to offer in the event that your first-shot design was proven viable.

Again, in none of those cases do you begin copying and pasting code from anywhere and calling it your project...hopefully.

Re: James Molloy tutorial gone

Posted: Mon Dec 26, 2011 3:26 am
by Solar
wikiwolf wrote:Since it's not released, no licensing problems should occour, right?
The license of a piece of code is whatever license the code is put under. If there is no license statement, that implicitly means "all rights reserved, no license given". Whether something is "released" or not does not matter.

Re: James Molloy tutorial gone

Posted: Mon Dec 26, 2011 4:28 am
by wikiwolf
Solar wrote: The license of a piece of code is whatever license the code is put under. If there is no license statement, that implicitly means "all rights reserved, no license given". Whether something is "released" or not does not matter.
mh, this makes sense... but how useful can be a tutorial code that you can not modify to see what happens?
I mean: "hey, the GDT have the first descriptor set to zero, what happen if I remove it?" (yeah is a really dummy example...)
gravaera wrote: But for all of those cases, you don't paste code from another project into your tree and then call it yours. You, as you yourself said, write some preliminary code and think about the problem, design a solution, and read about current practices to see how the industry has come to do it, how that matches up with your own initial solution, and what optimizations current practice has to offer in the event that your first-shot design was proven viable.

Again, in none of those cases do you begin copying and pasting code from anywhere and calling it your project...hopefully.
The project obviously is mine, this not means that I'm claiming the jamesm code to be mine.

I'm not very used to licensing, if (as Solar said) the jamesm license do not permit to hack on code privately then I apologize and remove it immediately; I'm going to rewrite it anyway, as I said before, because I want to find my own way of doing things... I just wanted to play with the vesafb before caring of the x86 details.


#EDIT: Done, code removed.

Re: James Molloy tutorial gone

Posted: Mon Dec 26, 2011 4:49 am
by orafy
We can copy/paste some of its asm code, multiboot part, readEIP() function..
Still useful.

Re: James Molloy tutorial gone

Posted: Mon Dec 26, 2011 5:39 am
by Kevin
Solar wrote:The license of a piece of code is whatever license the code is put under. If there is no license statement, that implicitly means "all rights reserved, no license given". Whether something is "released" or not does not matter.
"no license given" isn't the full truth, you don't need a license for everything. For example, even though it's not written anywhere, you're not only allowed, but in fact supposed to read the text. If no license is given, the rules of the copyright law of your country apply unchanged. Copyright law is mostly about publishing, so as long as you use the code only for yourself and don't distribute any copies of your OS (i.e. it gets "released"), why should there be any problem?

Re: James Molloy tutorial gone

Posted: Mon Dec 26, 2011 5:59 am
by Combuster
Because no license basically includes the prohibition to show it off to your friends.

After all, that's what everybody wants, right :wink:

Re: James Molloy tutorial gone

Posted: Mon Dec 26, 2011 9:52 am
by JamesM
To alleviate any problems and to inform everyone:

Many people have contacted me regarding copying, modifying and redistributing the tutorial series on my site. As you're aware there is no explicit license or disclaimer on the site.

As I've said to everyone, I'll say here.

I hereby revoke all rights to (but not ownership of) the code and text contained at http://www.jamesmolloy.co.uk/tutorial_html and related subdirectories. The contents of said subdirectories are released with no restrictions - be that to modification or redistribution.

This comes with the following request (and I do stress request), that redistributed or modified code maintains a link to the site from which it came - for example the "From JamesM's tutorials" comment header available in all files.

I have no intention of persuing any sort of copyright or licence related claim whatsoever, with the sole exception of if someone somehow uses those tutorials as something libellous against me. Which isn't going to happen, so for all intents and purposes go ahead, I honestly couldn't care less and although they're poorly written, I'm glad they've helped you.

EDIT: Shameless as it is, it's Christmas. I'm working still on rewriting those tutorials, and if they've helped you or you feel like it, why not buy me a beer via paypal? ;) [email protected].

Cheers,

James

Re: James Molloy tutorial gone

Posted: Mon Dec 26, 2011 12:40 pm
by Synon
gravaera wrote:But for all of those cases, you don't paste code from another project into your tree and then call it yours. You, as you yourself said, write some preliminary code and think about the problem, design a solution, and read about current practices to see how the industry has come to do it, how that matches up with your own initial solution, and what optimizations current practice has to offer in the event that your first-shot design was proven viable.

Again, in none of those cases do you begin copying and pasting code from anywhere and calling it your project...hopefully.
If someone downloaded James M's kernel, modified a little bit of the code, and then called it their own, that would be plagiarism. If someone looked at the tutorial and copied the code verbatim, that would be plagiarism. Additionally, they wouldn't have learned much, if anything at all. But it's different if you read through the tutorial and write your own code based on what James M has written (which is what I do; I restructure the code, format it the way I like, name things the way I want, etc. and most importantly, I make it my own, and I understand it). That's not plagiarism, it's creating a derivative work. If you distribute it, it might still be illegal (depending on the license James M uses) but as long as you don't distribute it, you're not doing anything wrong. When the whole thing actually works, having gained an understanding of how it actually works, you can rewrite any code that isn't your own.

Re: James Molloy tutorial gone

Posted: Mon Dec 26, 2011 12:51 pm
by JamesM
berkus wrote:What was the beer price in your region again?

Like the loch ness monster in South Park, around £3.50...

Re: James Molloy tutorial gone

Posted: Mon Dec 26, 2011 1:41 pm
by gravaera
Tree fiddy to be exact :wink:

Re: James Molloy tutorial gone

Posted: Mon Dec 26, 2011 2:25 pm
by JamesM
Image