(But seriously, purely from the feature list, this looks like an incredible achievement.)
You should just leave these sort of statements out of your introduction. It's generally assumed all projects have some degree of technical debt, and you'll lose more users (i.e. most) than you'd gain (i.e. 0) by trying to treat the subject with candor.
In other words, don't sell yourself short. Speak directly to why someone would want Sortix right away. In your intro, speak as if Sortix exists, fully formed, and complete. Let people come to their own conclusions about the quality.
For example, I'd rewrite the opening sentence from
Sortix is a small self-hosting Unix-like operating system developed since 2011 aiming
to be a clean and modern POSIX implementation.
Sortix is a clean and modern POSIX implementation.
But, while you said "I'm not trying to gain users", you also said "The people I want to attract are...". Those two statements aren't compatible. Developers (like me) are a type of user.
Whatever you want to call them--developers, users, minions, whatever--when your audience has several choices available to them for how they spend their time, marketing is just the means by which we try to convince people to take our option over some other option.
Personally, I'm getting a little tired of being on my own for all of my projects, so I am making myself learn more about marketing. I had just hoped to share.
It'd be lying if he were to say "we have 100% POSIX compliance." Very few OS projects can claim that. It needs to also be version-qualified, as there are several POSIX standards and even Windows can claim compliance with some of the versions.
My point is that this information of the current state of the project does not belong in the introduction to the project. The fact that it is a Zero-Point-Something version number is information enough that the project is incomplete.
SpaceX "...DESIGNS, MANUFACTURES AND LAUNCHES ADVANCED ROCKETS AND SPACECRAFT". They don't add caveats about completeness or design flaws or anything of that sort in their introduction.
And my reduction is just a call-out. The introductory section of the site is three paragraphs and a sentence long. It's not an introduction at all, at that point. All of these extraneous details are specifically making the introduction less clear, not more.
Or maybe they understand that different marketing approaches are required in different cultures. The slogan BMW uses in German-speaking markets is "Freude am Fahren" (roughly, "driving pleasure", or to be somewhat more literal, "pleasure while driving"), which is a bit more modest than "The Ultimate Driving Machine".
The slogan "Das Auto" for VW at least in Germany can rather be considered as a subtile hint that probably most Germans, when they think of a car, first think of a VW (hinting the deep interleaving of post-WW-II German culture and VW). At least that's what I see in this slogan.
Apart from this: There is a large difference between using "stupid" slogans (that can also be considered as something like mission statements) and claiming properties that simply are not there (fraud).
> The fact that it is a Zero-Point-Something version number is information enough that the project is incomplete.
Say, OpenSSL was 0.9 for many years and was at that time still highly stable and complete.
There is a wide gap between "very incomplete" and "basically ready", so in my opinion 0.x tells nothing, except the developers still see things to be done.
>> It aims towards POSIX compliance
in the readme
> It adds nothing to my description to call my projects incomplete. The game is thus figuring out when to cut my engineering-self off and engage my sales-self.
It would add everything to potential user loyalty to admit where your project falls down. Once someone has spent hours using your product only to find out that the edge cases come too often or the implementation is incomplete they may never come back. If however, you state clearly what is missing then they may well watch for improvements.
SO I would go for something:
> Sortix aims to be a clean and modern POSIX implementation.
Man, if only you were here to advise that poor college student in 1991 who announced his OS project as "just a hobby, won't be big and professional like gnu"... he might have had a fighting chance of getting it off the ground and who knows where we would be today? :)
The case of the Carlsberg slogan may not be Janteloven. However, if I were a betting man I'd say that the advertising creative who came up with it either knew about the concept or got the idea from some Danish executive's modesty.
A niche audience might look past silly logos, or even adopt them wholehearted as part of their "other" identity. But they are still consumers and still need to be marketed to. In this case, a bad logo is better than no logo.
But bad copy is just bad copy.
Most people won't actually use any particular project they read about. Most of early-stage marketing (and posting links like this to link-share sites like HN) is about gaining mind-share. You're investing time now in getting your name out so that--6 months from now--people who will eventually become your core users will say to themselves, "yeah, I remember hearing about that."
And when they say that to themselves, they are going to retain that mental picture of the project from when they first heard about it. If that picture is "incomplete, pie-in-the-sky", then they will continue to think of it as that. You now have to fight against the long-tail of converting people over to the new normal of your project being "complete".
Granted, if Jonas Termansen has no interest in having users, then he should just ignore my post completely. But then, why did he prop up a website for his project, a project he's labored on for 4 years now?
If you put that kind of effort into something, you owe it to yourself to not sell it short.
> Sortix is a small self-hosting Unix-like operating system developed since 2011 aiming to be a clean and modern POSIX implementation.
makes it clear (or at least strongly hints) that Sortix is not production-ready, while
> Sortix is a clean and modern POSIX implementation.
pretends that Sortix is production-ready, and I consider that to be disrespectful.
I'm afraid this is one area where startup culture conflicts.
(I have also spent the last year working on a homebrew OS kernel, so please trust that my "why" isn't intended as an attack! For me, the answer was simply "to see if I can", and I really enjoyed the project, but I'd love to know what motivated you in particular - especially as you seem to have achieved a very impressive amount)
If the purpose of creating Sortix is simply the challenge of writing an operating system, that's all good too. Best of luck.
For a POSIX-compatible operating system, more exotic choices are probably not available.
Was C ready when Ritchie & Thompson wrote Unix with it?
> For a POSIX-compatible operating system, more exotic choices are probably not available
Why limit to POSIX compatibility?
No need to limit things to POSIX compatibility, but merely achieving it is no mean feat — and POSIX is seriously C-oriented. Some people invent a new OS architecture, then implement POSIX on the top of it (see NT) — but this is an order of magnitude harder, I suppose.
When you implement a POSIX-compliant OS, you suddenly have a lot of ready-made open-source software that both serves its primary purpose and as an "integration test suite". For a new OS, you have to write most basic userland things yourself. This is again a lot of effort.
Given its open nature, there's no reason (except limits of time/skill) someone writing an OS in Rust couldn't also be advancing Rust and its libraries in the directions needed to support that effort, even if they are outside of Mozilla.
I won't mind to be a billionaire with superhuman abilities and unlimited lifespan, too! Unfortunately, we mere mortals often have to limit the scope of our endeavors somehow.
POSIX? We don't need no steenking POSIX...
Modula-2 and of course Oberon the language were rather fine for their times, and I'm glad to see some pieces of them reused in e.g. Go.
If you use a stable language, you can concentrate on the challenges of the actual OS design.