James Molloy tutorial gone
Re: James Molloy tutorial gone
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?
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.
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?
The jamesm is C code, I ported it to C++, modularized and corrected bugs. It's no longer vanilla code from tutorials.
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?
I think we're going a little off-topic. Let's stop here, please.
- gravaera
- Member
- Posts: 737
- Joined: Tue Jun 02, 2009 4:35 pm
- Location: Supporting the cause: Use \tabs to indent code. NOT \x20 spaces.
Re: James Molloy tutorial gone
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.
17:56 < sortie> Paging is called paging because you need to draw it on pages in your notebook to succeed at it.
Re: James Molloy tutorial gone
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.
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.
- gravaera
- Member
- Posts: 737
- Joined: Tue Jun 02, 2009 4:35 pm
- Location: Supporting the cause: Use \tabs to indent code. NOT \x20 spaces.
Re: James Molloy tutorial gone
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.
Again, in none of those cases do you begin copying and pasting code from anywhere and calling it your project...hopefully.
17:56 < sortie> Paging is called paging because you need to draw it on pages in your notebook to succeed at it.
Re: James Molloy tutorial gone
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?
Every good solution is obvious once you've found it.
Re: James Molloy tutorial gone
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.
I mean: "hey, the GDT have the first descriptor set to zero, what happen if I remove it?" (yeah is a really dummy example...)
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.
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.
Last edited by wikiwolf on Mon Dec 26, 2011 4:52 am, edited 1 time in total.
Re: James Molloy tutorial gone
We can copy/paste some of its asm code, multiboot part, readEIP() function..
Still useful.
Still useful.
Re: James Molloy tutorial gone
"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.
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: James Molloy tutorial gone
Because no license basically includes the prohibition to show it off to your friends.
After all, that's what everybody wants, right
After all, that's what everybody wants, right
Re: James Molloy tutorial gone
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
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
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.
Re: James Molloy tutorial gone
berkus wrote:What was the beer price in your region again?
Like the loch ness monster in South Park, around £3.50...
- gravaera
- Member
- Posts: 737
- Joined: Tue Jun 02, 2009 4:35 pm
- Location: Supporting the cause: Use \tabs to indent code. NOT \x20 spaces.
Re: James Molloy tutorial gone
Tree fiddy to be exact
17:56 < sortie> Paging is called paging because you need to draw it on pages in your notebook to succeed at it.