Re: James Molloy tutorial gone
Posted: Sat Dec 24, 2011 11:44 pm
It is back up.
The Place to Start for Operating System Developers
http://f.osdev.org/
Because when I started I was only a C++ programmer with no experience in system programming...gravaera wrote: 1. Why are you using somebody else's code?
with 'release' I was speaking of alpha, nightbuild release... the system is not yet complete at this stage.gravaera wrote: 2. How could your project be ready for release when it relies on known, flawed code?
My objective is to learn system programming and I do it in free time. Problems?gravaera wrote: 3. Where exactly do you think you're going with this lack-luster effort?
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.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.
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.wikiwolf wrote:Since it's not released, no licensing problems should occour, right?
mh, this makes sense... but how useful can be a tutorial code that you can not modify to see what happens?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.
The project obviously is mine, this not means that I'm claiming the jamesm code to be mine.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.
"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?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.
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.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.
berkus wrote:What was the beer price in your region again?