Page 2 of 3

Re: Do you implement user-space programs yourselves?

Posted: Wed Sep 28, 2016 6:05 pm
by Schol-R-LEA
I forgot to add one other thing: looking at the 'success' of a new OS over a previous one is often misleading, especially when looking at the period of the MS-DOS+Win3.1 -> Win95 transition, because between 1975 and 2005 (roughly speaking, and for completely unrelated reasons), the sales of single-user desktop and laptop computers paralleled Moore's law quite closely - the number of such system on operational use increased by at least double every two years. This has two important implications; the first, that there is little point in targeting systems from before 2000 (because they would represent at most a quarter of all systems in use today) unless you are targeting a specific retro-computing platform, has been mentioned before.

The second is that trying to get a read on the popularity of an OS compared to it's predecessor based on the sales figures is difficult, if not impossible, because (at least until the mid to late 2000s, and probably specifically the introduction of the iPad) the market never saturated - most new PC buyers were new PC owners. They got the newer OS because that was what was on the system, and they had no basis to judge whether it was any good or not.

Most users just want an appliance, something that they push a button to get a job done. The success of smartphones came mainly because they are closer to that than anything that came before. The computer itself is far less important than the job to be done.

Re: Do you implement user-space programs yourselves?

Posted: Thu Sep 29, 2016 1:08 am
by MichaelFarthing
Eeeh they do go on....

Re: Do you implement user-space programs yourselves?

Posted: Thu Sep 29, 2016 2:15 am
by Brendan
Hi,

I was going to trawl through all the nonsense and correct everything, but to be perfectly honest it's all just a distraction from the main point anyway; and I've just come out of a 24 hour power blackout (the entire state's power grid wiped out by freak weather) and I'm too tired to bother.
Schol-R-LEA wrote:I would do what I am doing now: enjoy working on my hobby, and focusing on improving the state of the art, in the hope that I can come up with something good enough that the one or more of the mainstream systems pick the idea up (not likely, as all the things I am doing would require a radical redesign of the core system - hence the need for it to be an OS of its own - but stranger things have happened).
Please tell me you are joking here, because that is pure insanity talking otherwise. It combines a level of hubris that would make Stephen Wolfram pause, with a a degree of self-indulgent fantasy that makes my expectation of users putting up with Lisp as part of the system look well grounded in reality. 8)
Schol-R-LEA wrote:I don't aim at getting people to use my OS
There are people who are writing an OS just for fun, and that's fine. There are people who are writing an OS to learn, and that's fine too.

Then there's people who want to go further than just "fun" or "learning" but for one reason or another don't try. Then there's people like me, who are willing to try (despite the odds) and therefore need to do whatever they can to increase their chances.

These are not unrelated categories - it's a progression (once upon a time I was only writing an OS for fun/learning too). When you've finished writing an OS for fun/learning you'll ask yourself "what next?", and you will make a choice - either become one of those that don't try, or become someone who has to put up with scepticism from people who aren't playing in the same league.


Cheers,

Brendan

Re: Do you implement user-space programs yourselves?

Posted: Thu Sep 29, 2016 8:25 am
by Schol-R-LEA
Brendan wrote:There are people who are writing an OS just for fun, and that's fine. There are people who are writing an OS to learn, and that's fine too.

Then there's people who want to go further than just "fun" or "learning" but for one reason or another don't try. Then there's people like me, who are willing to try (despite the odds) and therefore need to do whatever they can to increase their chances.
But that's my point: that your purist approach is likely to ruin your chances of success, as is your apparent assumption that you will succeed. The problem is that while excellence is a necessary condition for success, it is never a sufficient one, and it generally is not the key factor in a product's acceptance.

Obviously, being a purist myself, I have no problem with hewing to an impractically idealistic line. You seem to think you can do that and still succeed in the marketplace, and that is what I am call you out on.

Have you ever read the Worse is Better papers (a series of essays on the practical aspects of 'success' in the software world)? The original was written by Richard Gabriel, one of the designers of the Symbolics lisp machines and a member of the Common Lisp standards committee, as a chapter in an extended essay on why the Lisp Machines and Lisp in general had fallen out of favor in the late 1980s. His contention was that Unix, while technically inferior in many ways (not only to Genera but also Tenex, ITS, WAITS, RSX, and several other contemporary operating systems), was more 'adaptable' - or in modern terms, agile - because it was inexpensive to license, portable, had lower hardware requirements than most of the other systems then in use, was written to require lowest common denominator of hardware features (not the same thing as the previous statement, but related), and provided just enough of a system to support the basic operations, which was just enough combined with the lower up-front cost that the TCO issues were ignored.

He went on to write a rebuttal using a sockpuppet called "Nikabein Bourbaki" (a reference to the mathematical collective who published as "Nicolas Bourbaki" in the 1930s), and followed through by debating himself on the topic. Several others, such as Chiusano and Weinreb, have published their own takes on the question, and it is still debated by some, but the point is that success does not come from technical superiority alone, and in fact the technically superior system is almost never the one that sells the most. Reading them, regardless of your own conclusions about it, is a sobering antidote to the belief that making a better mousetrap is sufficient in and of itself.

But even this isn't the real problem: the real problem is that, despite claims to the contrary, you frequently criticize others here for not having the same ambitions you do, and for failing to adopt your puritanical outlook at the same time. You don't seem to realize that you are trying to impose your own attitudes about successful operating systems on people who are just trying to learn. You say you support the more casual members, but your actions say otherwise.

By the bye, please let me know if you feel I am doing the same regarding my own dyspeptic and jaded perspective. I suspect I am, but it is hard to judge these things in oneself, so if I seem to be trying to silence you or crush your dreams (when all I want is to point out the pitfalls to them, and help you avoid them), I will certainly want to address that problem.

Re: Do you implement user-space programs yourselves?

Posted: Thu Sep 29, 2016 8:39 am
by rdos
I don't think that anybody, no matter to smart or innovative, is able to write a new general-purpose OS that a large number of users will write applications or drivers for. Especially not if it is not POSIX or Win32 compatible. The time when this was possible is long gone. I think there might still be a possibility for a special-purpose OS to gain some success, but certainly not a general purpose OS.

I've had people write applications for RDOS, but that is part of a commercial project.

Re: Do you implement user-space programs yourselves?

Posted: Thu Sep 29, 2016 8:54 am
by Schol-R-LEA
I know it is beating a dead horse, but I want to reiterate something that Brendan and several others here don't seem to realize: AT&T Unix and its immediate variants were never a success in the business world. It was an enormous success in the academic world, which has given it disproportionate weight in the minds of the OS development community, especially since many of the things associated with it got transferred to the most successful system of all time: Windows.

Unix was the dominant system on VAX clusters and Apollo, HP, and Sun workstations. Big businesses didn't use VAX clusters or workstations. They used IBM mainframes. They were still using mainframes right up to the end of the first round of the Unix Wars in the early 1990s, and some still use them even now. The VM series operating systems used on those after 1972 is nothing like Unix (it's really just a hypervisor for multiplexing CMS and various other earlier mainframe OSes such as MVS), though a Unix (AIX) does exist for them and is often run in virtual sandbox on VM.

Smaller businesses ran MS-DOS, almost universally, and later went to Windows because they could no longer buy systems with MS-DOS preloaded, though even in the mid-1990s most small businesses didn't have computers at all.

Unix, for all its importance, was not a huge commercial success, and AT&T dumped it on Novell as the white elephant it was as soon as they were able. Linux succeeded, to the extent that it did, for its own reasons, not just because it was based on Unix.

Re: Do you implement user-space programs yourselves?

Posted: Thu Sep 29, 2016 10:01 am
by Schol-R-LEA
Yes, I do go on and on, I know. One more thing for now: I added a paper on the "PC-Losering" issue mentioned in Gabriel's essay to the wiki page on academic papers, not just because it is referenced there, but because it's a subject that I don't think is addressed anywhere else on the Wiki yet.

Mind you, as the Wikipedia article says, neither the ITS solution nor the Unix one is really best; both of them enshrine a view of shared process state that can be avoided entirely, either by using asynchronous IPC, or by managing the shared state in a way that neither process has direct access to it (e.g., the use of Hoare monitors, or an Actor-based approach where shared resources are themselves independent processes). However, just having an explanation of the topic is a Good Thing, as it allows the OS dev to frame the question properly, even if the explanation isn't directly relevant to their solution.

Re: Do you implement user-space programs yourselves?

Posted: Thu Sep 29, 2016 11:53 am
by Schol-R-LEA
*sigh* I need to stop, but I still want to drive home my point, Brendan.

My problem is not with your design, nor your skills (though you do seem to take any questioning as an affront to your penis length, you need to watch that tendency as it is going to get you in trouble), nor your knowledge. It is not with taking a risky high road to try and improve the state of the art.

My problem is that you are being blithely dismissive about the fact that it is a risky endeavor, from the perspective of potential adoption. My problem is that you are assuming that your system will be adopted solely from its technical merits. My problem, to be blunt, is with your apparent belief that you know better than every other OS dev around regardless of expertise, and that you can sweep away sixty years of accumulated cruft, managerial idiocy, poor design, and compromise simply by showing up to the party.

My problem, in other words, is that you are engaging in something your frequently accuse others of: magical thinking.

Finally, I think you seem to believe you can write your OS and then let it run on its own, with only technical fixes and improvements. You don't seem to be considering the sheer amount of paperwork that is involved in running this sort of operation, nor the human interactions it takes. For all his bad attitude and public meltdowns, Linus is a fair manager, which is good, because that is all he does these days. Yes, he reviews the kernel code, but how much of it do you think he writes lately? Hardly any. Do you really want to become a business owner, a manager, a guy selling a product? Because I can promise you, if BCOS does succeed, you will never write another line of code again afterwards. Running a business is running a business, no matter what that business is. If you cannot divorce yourself from the product, you won't succeed in business no matter how good your product is.

I suggest that you reconsider, not your design, but your aims, and whether you possess the means to reach them - not as a matter of technical solutions, but as a matter of marketing, of opportunity, and of managerial ability - or even whether you really want to or not.

Re: Do you implement user-space programs yourselves?

Posted: Thu Sep 29, 2016 12:22 pm
by Schol-R-LEA
rdos wrote:I don't think that anybody, no matter to smart or innovative, is able to write a new general-purpose OS that a large number of users will write applications or drivers for. Especially not if it is not POSIX or Win32 compatible. The time when this was possible is long gone.
While I wouldn't say the chances of it happening in the next 20 years are zero, they certainly are lower than those of, say, a specific individual winning a major lottery on their first ticket. Worse, the circumstances needed for it to occur are entirely unpredictable, and the likely scenario is that the 'winner' would be whatever one happens to have its butt in a chair when the music stops, with only minimal regard for the actual system's merits.

Note that this last part is all the more reason not to slack off on good design. If anyone can win, you want to be certain as many of the candidates as possible are providing something worth giving.

Re: Do you implement user-space programs yourselves?

Posted: Thu Sep 29, 2016 12:24 pm
by glauxosdever
Hi,


I don't think it's unrealistic to succeed in an OS project. In fact, aiming for success is the first prerequisite to succeed.

However, technical merits is not the only thing to consider, and this is where I agree with Schol-R-LEA. But then there are varying opinions about what is important and what is not important.

Many people claim that compatibility with Linux or Windows programs and/or drivers is something they have to consider. Their main argument is that this way the OS will have more programs, therefore being more usable. See Unix-like systems in this very community and/or ReactOS.

Many people claim that incompatibility with almost everything allows a better and consistent interface. Their main argument is that this way the OS has a better overall quality, speed, extensibility and other properties. This however means all programs need to be written from scratch, which means more work and/or less usability in total. See Brendan's OS for example.

Many people claim that external circumstances are the most important factor to success. For example, when Linux popped out, BSD was in a legal dispute, which gave Linux a boost. Basing your success on external circumstances requires however much luck.

Many people claim that big players are needed to support the OS in order for it to succeed. Their main argument is that Windows is as widespread because almost every new computer comes with Windows preinstalled.

Many people claim that their little OS will never succeed. While I don't agree with them, I can understand they are writing an OS either to help their education and/or career, either to get confidence as a programmer, either just for fun.


Regards,
glauxosdever

Re: Do you implement user-space programs yourselves?

Posted: Thu Sep 29, 2016 12:27 pm
by tsdnz
Brendan wrote:Then there's people who want to go further than just "fun" or "learning" but for one reason or another don't try. Then there's people like me, who are willing to try (despite the odds) and therefore need to do whatever they can to increase their chances.
rdos wrote:I don't think that anybody, no matter to smart or innovative, is able to write a new general-purpose OS that a large number of users will write applications or drivers for. Especially not if it is not POSIX or Win32 compatible. The time when this was possible is long gone. I think there might still be a possibility for a special-purpose OS to gain some success, but certainly not a general purpose OS.
This is exactly what I am doing, my Cloud Operating System is going very well.
I have an investor now, enough money to keep me going for another 8 months, a server room with servers, money to buy equipment if needed.
This did not come easy, 15 years ago I started the concept, around 5 years ago I started on a OS for another project, it turned into the Cloud OS, the idea I had 15 years ago.
I have spoken with Mainframe developers who are in funding roles, governments, grant boards, and many others who have disregarded the idea, it cannot be done, you cannot do it, you do not have the money, others will beat you to it, etc..... The number of times I have been turned down, doors shut, people in positions that could help me (usually with programming backgrounds) not even giving me the time to showcase the idea, and general computer users telling me to give up and get a job (I had two jobs, including my software development company, LOL) is well... 2^64 = Large

Now things are changing, investors are lining up, money is not an option, people want to be part of the project.

I have designed it for others to develop software, there is no way I can design everything required, but I can design the Kernel so everyone else can design on top of it.

I am willing to try...... Oh, and I love programming..

My system is nothing like Windows/linux/ or anything else, a completely new OS requiring a lot of programming. New money.

Ali,

Re: Do you implement user-space programs yourselves?

Posted: Thu Sep 29, 2016 12:31 pm
by tsdnz
Schol-R-LEA wrote:My problem is that you are being blithely dismissive about the fact that it is a risky endeavor, from the perspective of potential adoption. My problem is that you are assuming that your system will be adopted solely from its technical merits. My problem, to be blunt, is with your apparent belief that you know better than every other OS dev around regardless of expertise, and that you can sweep away sixty years of accumulated cruft, managerial idiocy, poor design, and compromise simply by showing up to the party.
This is what I believe............I will turn up to the party....

Re: Do you implement user-space programs yourselves?

Posted: Thu Sep 29, 2016 12:39 pm
by Schol-R-LEA
For any given room, there can only be one person who is the smartest one in it.

I'm not in that race; I don't claim to know better than others, just that I have some possibly interesting ideas that I want to try out, and perhaps some experience you might want to learn from. You, Brendan, OnlyOneMac, and embryo are free to do all the competitive phallometry you like, but count me out.

Re: Do you implement user-space programs yourselves?

Posted: Thu Sep 29, 2016 2:30 pm
by glauxosdever
Hi,

In the last post, Schol-R-LEA wrote:You, Brendan, OnlyOneMac, and embryo are free to do all the competitive phallometry you like, but count me out.
So you are now dismissive about people that try to write a better OS?
In a previous post, Schol-R-LEA wrote:My problem is not with your design, nor your skills (though you do seem to take any questioning as an affront to your penis length, you need to watch that tendency as it is going to get you in trouble), nor your knowledge. It is not with taking a risky high road to try and improve the state of the art.
Which is contradicting with what you said now, however both of these quotes contain references to the thing.

I suggest you decide what you think about this topic. Your claims from your last posts are inconsistent.


Regards,
glauxosdever

Re: Do you implement user-space programs yourselves?

Posted: Thu Sep 29, 2016 2:43 pm
by Schol-R-LEA
Actually, the two quotes aren't related at all, as those two posts address different issues: their plans and expectations for their operating systems, in the former case, and their boastful attitudes on this forum, in the latter.

What I really said in that last post was that when talking of their posts here, they aren't striving to write a better OS at all; OS dev just happens to be the arena of conflict. Much of the time, what they are really doing is, as I said, competitive penis-measuring.

But that's only in regards to their DSW here on OS-Dev. They may or may not be actually working on better operating systems, and I certainly hope they succeed if they are, but they aren't being realistic about the potential for those systems to actually see general use, and the main reason they aren't is because they have tied their egos to that particular issue. This same ego commitment is driving most of the conflict that has been happening between them on this forum, but they have talked themselves into think that it is all about the technical debates.

Now, ego commitment is fine; it is an important driver of innovation, and I have plenty of it towards my own work. But when the ego commitment shifts from "make something better" to "everyone WILL buy this, I am certain!", then it is interfering with your judgment.