Page 4 of 4

Re: The BEST OS

Posted: Wed Aug 03, 2011 10:06 pm
by Chandra
I think there's always the choice. For those who believe in Community OS, there's nothing that can forbid them to work as a team, a motivation to stride for the best they could ever create. And for those who have their own goals in life, something different then the rest of the world has, there isn't anything aswell that can stop them from continuing on then work. But there always has been a debate, particularly on the subject of Community OS, so it seems as if there isn't much possibility for a team work over here.
Brooks' Law states that the more people on a project, the longer it takes. The only way around this is to split the project into parts that you get people working on and only on that part. Good luck.
I believe that a well planned project can still attract huge interests. And to the part that "The more people on a project, the longer it take", image what would world be like if everyone was to do his job, himself. I was wondering how would it feel like if I were ever obliged to do my kidney operation myself.

Cheers!

Re: The BEST OS

Posted: Wed Aug 03, 2011 10:06 pm
by Neolander
@NickJohnson : I agree, the current structure of the project page doesn't help writing good summaries. Plus, lots of projects there are probably dead anyway, due to the high mortality rates of OSdev. How about building a new version of this page, with newly-styled summaries for everything, that's due to replace the current one eventually ?

My take at a more precise description of a project :
  • Project name or codename
  • Author (Name or nick/email)
  • Website(s) (precise the role of each if several)
  • Project state (in development, stable and complete release (with release date), dead...)
  • Based on an existing OS project ? (if yes, say which)
  • Goals :
    • Core project goal(s)
    • Target users (yourself, students, developers, desktop users, large-scale sysadmins, three-headed snails...)
    • Target hardware (embedded, phones, thin clients, tablets, video game consoles, desktop/laptop, servers...)
    • Target use cases (HPC, workstation, web server, fart apps...)
  • Concept :
    • Kernel type (micro/macro/library, modularity, presence or absence of userspace...)
    • Preferred human interface (WIMP GUI, CLI, face gestures, mind control...)
  • Implementation :
    • Currently supported hardware architectures (x86, ARM, MIPS, SPARC...)
    • Programming languages being used (including scripting languages)
    • Currently supported bootloader(s) and booting methods (Floppy, CD/DVD, IDE/SATA HDD, USB, network...)
  • Anything else you'd like to mention ?
That's just a draft, I tried to keep things relatively small for the first try. Feel free to add, remove, or discuss anything.

EDIT : Here's an example...
  • Project name : DildOS
  • Author : Stephen Pole (spole AT sticky-carrot.com)
  • Website : http://www.sticky-carrot.com
  • Project state : Version 6.9 "Rubby Tuesday" released in 1966
  • Based on an existing OS project ? : No
  • Goals :
    • Core project goals : To control a vibration generator using user-alterable random patterns that are enjoyable to the human body, for relaxation purposes
    • Target users : Pretty much everyone.
    • Target hardware : Cylindric battery-powered embedded devices
    • Target use cases : Entertainment-centric software
  • Concept :
    • Kernel type : Monolithic, obviously
    • Preferred human interface : Gesture-based touch interface
  • Implementation :
    • Currently supported hardware architectures : Motorola 6809
    • Programming languages being used : Assembly
    • Currently supported bootloader(s) and booting methods : Saved in ROM, run by internal firmware
  • Anything else you'd like to mention ? : I usually have better taste in my jokes, I swear, but this was just all too tempting.

Re: The BEST OS

Posted: Thu Aug 04, 2011 7:36 am
by Love4Boobies
Chandra wrote:I think there's always the choice. For those who believe in Community OS, there's nothing that can forbid them to work as a team, a motivation to stride for the best they could ever create.
It seems to me like the goal you'd like us to go for is to create an OS where the whole community participates. That's a terrible goal to begin with; the actual goal should be an OS with certain properties (which everyone will disagree on). You mention "the best they could ever create"---"best" by itself means nothing without a metric; what happens if we disagree (e.g., X would like performance, Y would like security, Z would like portability---these are very broad design principles but discussions would take place for even the tiniest decision)? I'll tell you what would happen: People would either fight all the time until they eventually left the project, or they would come to a compromise yielding in an OS that is neither performant, nor secure, nor portable (i.e., not "best" by any definition).

Note that in order to make a point, I have already made two wrong assumptions:
  • That everyone is knowledgeable. (What, do we test people or something?)
  • That everyone will actually dedicate the necessary amount of time. (I, for one, have a bad record at this.)
Chandra wrote:And for those who have their own goals in life, something different then the rest of the world has, there isn't anything aswell that can stop them from continuing on then work. But there always has been a debate, particularly on the subject of Community OS, so it seems as if there isn't much possibility for a team work over here.
Actually, a place where people have no real world experience would probably go for this and fail, as it has happened countless times before. These are not just guesses we are making even though you refuse to accept the idea. The world isn't a fairly tale---it's unfortunate, but it just doesn't work that way.
Chandra wrote:I believe that a well planned project can still attract huge interests.
You do, but who are you? What experience do you have? Over the many years that people have worked on huge amounts of projects, they have learned something. Do you think your fairy tale belief is better than everyone's experience and that we shouldn't learn from past mistakes?
Chandra wrote:And to the part that "The more people on a project, the longer it take", image what would world be like if everyone was to do his job, himself. I was wondering how would it feel like if I were ever obliged to do my kidney operation myself.
That's the thing---if you want a well-planned project, someone needs to design it. A committee-driven design (rather, a community-driven design) is surely to fail. The alternative is for you, Chandra, to design the OS; however, I, Love4Boobies, have no interest in working in an OS of your design---I'm here because I have my own ideas of what a perfect OS should look like. So, the solution is fairly obvious: You need to design something good, make it happen, then attract developers. That way you will end up with people who are working towards the same goal, since they implicitly agreed to it when they volunteered. Linux might be a community project but it is directed by one man, for the most part.

The kidney thing is a terrible analogy because:
  • The doctor and the patient always have the same goal (well, hopefully).
  • The doctor might consult with his/her peers, but will make decisions on his/her own.
  • There are very few decisions to be made, if any.
Here's a better analogy: Gather everyone on your street and ask them to decorate your house.

Re: The BEST OS

Posted: Thu Aug 04, 2011 4:14 pm
by DavidCooper
NickJohnson wrote:I feel like with just a few basic criteria (target architectures, languages, kernel type, etc.; existence/completion of bootloader, kernel, paging, multitasking, userland, GUI, etc.) things could be narrowed down a lot.
Just dividing the project list into different sections would help narrow things down: e.g. dead or dormant OSes; Oses designed to run on museum artefacts; I'm-just-trying-to-learn-about-OSes-by-building-a-simple-one Oses; copy-and-paste-from-tutorial OSes; experimental OSes (not intended to do anything other than test a concept), educational OSes; ambitious desktop/laptop OSes; server OSes, real time OSes, single-application OSes, Robot OSes, OSes for use in simpler devices; loaders; emulators; libraries; universal components; etc..

The same OS could appear in multiple lists if appropriate, a hyperlink then jumping down to its details lower down (which need only appear once). The position of an OS in each list would be roughly based on how serious a player that OS is considered to be within that list (this could be based on completeness, stability and performance). The lists themselves could be broken up into subsections to separate those aimed at different architectures. Further lists could group OSes of similar design, or perhaps they could all simply appear in a table with columns for a wide variety of design features and bullet points in all the appropriate fields. If anyone has the time to take this on and try to organise the project list in such a way, it would be best to invite people to ask to be included in the new system so that all the dead projects can simply be left bundled up together as they are and ignored.
Neolander wrote:http://www.sticky-carrot.com
Has anyone dared to look that up, I wonder? Good test of your anti-virus, I expect.
Programming languages being used : Assembly
I think Basic, or Very Basic might be more appropriate.

Re: The BEST OS

Posted: Thu Aug 04, 2011 8:07 pm
by Chandra
Love4Boobies wrote:It seems to me like the goal you'd like us to go for is to create an OS where the whole community participates.
This is not about Goal. This is about interest. If you feel like not participating, don't participate and so will others. In fact, there isn't even a single trace of a long term project for anyone to participate on. It was just a thought.
Love4Boobies wrote:You do, but who are you? What experience do you have?
Mirror ahead. Who are you and what experience do you have? Few years in this forum and you think you know the world. There's no doubt that you're more experienced than me but that doesn't ensures that you've experience of the relevant subject. I've seen project that started from nowhere and went everywhere. From your point of view, every attempt of a group work will fail only because it had failed before. Aren't there any other project that have gained mighty success in few snap of time?
Love4Boobies wrote: Linux might be a community project but it is directed by one man, for the most part.
Why Linux? Is Linux our limit? Can't we go further than Linux? It's likely that we won't go further but does that mean that we can't bring a new concept of Operating Systems?
Love4Boobies wrote: The alternative is for you, Chandra, to design the OS;
That exactly is the problem. It will take time for people to catch up the existing concepts on the OS. Moreover, most of the people(if any) like to start from beginning only because they don't want to be a member of an existing project but to be a member of a new project. And why would I design the OS? I never did say that I'm a better designer. Everything was about thoughts. Community OS is for those who believe on them not for those who keep bashing over these ideas.
Love4Boobies wrote:however, I, Love4Boobies, have no interest in working in an OS of your design---I'm here because I have my own ideas of what a perfect OS should look like.
I never did invite you to join my project nor did I invite anyone else. And the converse follows, I'm never going to join anyone else' project.

One thing is obvious. Neither you nor me are going to be part of any Community Project, whatsoever. The whole concept was bashed before and I realize that this thread is already several months old. It seemed as if someone had a little interest on the concept and I was just here to make sure that I was the original guy who stood ahead. And there were several others before me with similar concepts. These ideas had failed from the past and will continue to fail in the future, there's no doubt about this. And from the past, it has been a trend to bash over these ideas('Beginner's Mistakes'). It's not even worth a shot.

Re: The BEST OS

Posted: Fri Aug 05, 2011 12:34 am
by Neolander
DavidCooper wrote:
Neolander wrote:http://www.sticky-carrot.com
Has anyone dared to look that up, I wonder? Good test of your anti-virus, I expect.
I have. Been trying every combination of the "carrot" and "stick" words (and their derivatives) until I ended up finding an URL that doesn't point to anything. Harder than I thought, actually. :P
Programming languages being used : Assembly
I think Basic, or Very Basic might be more appropriate.
I don't think so, for two reasons :
  1. This is an embedded system with limited capabilities, can these be programmed efficiently using BASIC now ?
  2. The "assembly" word sounded totally appropriate (though maybe the word play only exists in French, where the "Assembleur" (Assembly) word also means "someone that puts the parts of something together")

Re: The BEST OS

Posted: Fri Aug 05, 2011 4:50 am
by Combuster
This is an embedded system with limited capabilities, can these be programmed efficiently using BASIC now ?
Depending on your exact definitions of "Basic" and "efficient", yes it is possible to write fully functional firmware using the freebasic compiler, and as far as academics go it is an true equal to C. It just happens to be much more obscure way compared to C, and you'll find the average troll (and other basic illiterates) abusing that fact.

Re: The BEST OS

Posted: Fri Aug 05, 2011 5:07 am
by Solar
Isn't Brainf*** the obvious language of choice here? :twisted:

Re: The BEST OS

Posted: Fri Aug 05, 2011 6:19 am
by Neolander
Combuster wrote:Depending on your exact definitions of "Basic" and "efficient", yes it is possible to write fully functional firmware using the freebasic compiler, and as far as academics go it is an true equal to C. It just happens to be much more obscure way compared to C, and you'll find the average troll (and other basic illiterates) abusing that fact.
Sure, but I spontaneously wouldn't program something like a 6809 in C either :) You're right that an efficiency criteria would have to be defined, though.
Solar wrote:Isn't Brainf*** the obvious language of choice here? :twisted:
Well, obviously :) But I guess you'd still need Assembly for arch-specific functionality like emitting/receiving data through an I/O port.