20 ms·
Maestro: A Linux-compatible kernel in Rust
- DaveFlater 3y ago[flagged]
- awestroke 3y agoThat's pure FUD.
- chomp 3y agoIf it’s FUD, then why is the license on this MIT and not GPLv2?
- DaveFlater 3y agoDisillusionment. I paid my dues with virtiofsd et al. I'm glad the dev is having fun and learning, I just hope it doesn't escalate into an OS schism.
- VikingCoder 3y agoThis would be, "another OS schism." And I don't think this one would be worse than all the ones we currently have.
- empath-nirvana 3y agoIt's always a good thing to have more OS's to choose from.
- dabedee 3y agoIf you spend time reading the article, you can agree or disagree with his choices, but he provides several reasons for why he chose to rewrite in Rust over after the initial project was written in C: "At that moment, I decided to switch to Rust (my first project in this language), which represented several advantages: - Restart the project from the beginning, using lessons learned from previous mistakes - Be a bit more innovative than just writing a Linux-like kernel in C. After all, just use Linux at that point - Use the safety of the Rust language to leverage some difficulty of kernel programming. Using Rust’s typing system allows to shift some responsibility over memory safety from the programmer to the compiler." Unfortunately, your comment doesn't add anything to the conversation and distracts from the interesting project being presented.
- vanderZwan 3y agoAlso, there's the implicit "I'm doing this to learn and have fun with a personal project" aspect which seems valid
- DaveFlater 3y agoThat's pure Rust evangelism. As devs we are responsible for what we send out into the world. A schism in the Linux kernel would be bad.
- graphe 3y agoWhy? There are multiple kernel versons with different support. Android had and might still have their own kernel version, and I didn't notice anything bad. It's just another Unix implication.
- wongarsu 3y agoLinux started out as a hobby project that widened the schism in the Unix world. Yet things turned out fine
- vanderZwan 3y agoI have trouble not reading this as "forks are bad", which seems to be missing the point of libre software a bit. Am I missing some nuance lost in the brevity of two sentences?
- DaveFlater 3y agoForks are not inherently good or bad but can seriously muck up an ecosystem if they are not well-justified. Mucking up the Linux ecosystem would be BAD.
- vanderZwan 3y agoIt's not trying to replace the Linux kernel though, it's a personal project trying to be compatible with it. Yes, they're asking if anyone else wants to join near the end, but that doesn't imply anything. Small-scale hobbyist projects with fellow enthusiasts exist.
- nonameiguess 3y agoThese comments seem a little unfair. This is a project started for fun by a student in his spare time trying to learn how to develop an OS. He may very well have been a teenager when he started this and likely chose an MIT license because the Github wizard gives you it as a default if you have no preference or know nothing about licensing, which is likely to be true for most students. Given his explanation, it seems he switched to writing in Rust largely because it allowed this project to do double duty allowing him to learn Rust while learning to develop an OS. That is an entirely reasonable thing to do. The thing with Linux compatibility isn't explained, but most likely because it makes the process much simpler if you can run at least some existing software as-is and not have to write an entire userspace yourself to be able to actually do anything with your toy kernel. Wholesale new OS projects ultimately intended for real-world use by people other than the developer don't seem to be taking that approach.
- deleted 3y ago[deleted]
- weinzierl 3y agoI love it and hope it will catch on. I reminds me of what Linus Torvalds once said when asked about fearing competition, though. From my memory his answer was something like: I really like writing device drivers. Few people like that and until someone young and hungry comes along who likes that I'm not afraid of competition.
- sylware 3y agoBut GPU drivers require a fairly big team. We must have a GPU hardware programming "standard" first. And I would favor a risc-v kernel instead to avoid the dependency on a super complex syntax (rust) compiler and do gcc-dependency-like mistake all over again. For this reason, eating the bullet and moving on a modern worldwide standard ISA would actually be the real move forward. We have already linux and others tied to gcc extensions and very recent ISO tantrums (porting to not-inline assembly and back to c89/99 is carefully made not reasonable, not to mention assembly code paths tied to specific stack alignment features from the compiler). Namely there is a serious imbalance between the compiler complexity and what it is actually bringing on the table.
- Snow_Falls 3y agoWhat do you mean a risc-v kernel? One written in RISC v assembly? Because that would be terrible. Risc-v is the instruction set architecture, rust is a programming language. You can port languages to target ISAs. Linux can already run in riscv. The ISA of the hardware and the language the software it runs are completely different issues.
- sylware 3y agoWell, I think you are wrong, and that would actually be the real way forward: an assembly written kernel using a worldwide standard ISA, aka RISC-V. Of course, it would have not to abuse any preprocessor, because moving the issue which is the complexity of the compiler dependency to a preprocessor complexity dependency would nullify everything. Doing that in rust, is just doing the mistake of linux all over again, actually even worse, since rust syntax is much more complex than C with gcc extensions.
- mgoetzke 3y agoGreat. Hope he keeps doing this until he finds enough supporters
- bcye 3y agoSmall feedback: On mobile the back button (and nav bar) block 1/6th of the page, probably could use a bit less padding
- llenotre 3y agoThank you for the feedback. I will fix that!
- deleted 3y ago[deleted]
- dottedmag 3y agoSyscalls are easy. Drivers will be tough.
- weinzierl 3y agoDrivers are the tough part and the lack of a stable interface in Linux makes them hard to reuse.
- rhabarba 3y agoPeople who want stable interfaces should not touch anything Linux with a ten-foot pole.
- ahmedfromtunis 3y agoCare to elaborate on this? I clearly understand nothing of this, but it always felt confused about it. Why won't Linux aim for ABI stability? Wouldn't that be a win for everyone involved?
- Karellen 3y agohttps://www.kernel.org/doc/Documentation/process/stable-api-nonsense.rst https://www.kernel.org/doc/Documentation/process/stable-api-...
- peoplefromibiza 3y agoThe Linux Kernel Driver Interface (all of your questions answered and then some) https://github.com/torvalds/linux/blob/master/Documentation/process/stable-api-nonsense.rst https://github.com/torvalds/linux/blob/master/Documentation/...
- ahmedfromtunis 3y agoGreat to see that Greg Kroah-Hartman dedicated a whole article to answering my questions. Thanks!
- insanitybit 3y agoA memory safe linux kernel would be a fairly incredible thing. If you could snap your fingers and have it, the wins would be huge. Consider that right now a docker container can't be relied upon to contain arbitrary malware, exactly because the Linux kernel has so many security issues and they're exposed to containers. The reason why a VM like Firecracker is so much safer is that it removes the kernel as the primary security boundary. Imagine if containers were actually vm-level safe? The performance and operational simplicity of a container with the security of a VM. I'm not saying this is practical, at this point the C version of Linux is here to stay for quite a while and I think, if anything, Fuschia is the most likely successor (and is unlikely to give us the memory safety that a Rust kernel would). But damn, if Linux had been built with safety in mind security would be a lot simpler. Being able to trust the kernel would be so nice. edit: OK OK. Yeesh. I meant this to be a hypothetical, I got annoyed at so many of the replies, and this has spiraled. I'm signing off. I apologize if I was rude! Not a fun start to the morning.
- scoot 3y ago> a docker container can't be relied upon to contain arbitrary malware "to not contain"? Edit to contain (ahem!) the downvotes: I was genuinely confused by the ambiguous use of "contain", but comments below cleared that up.
- OscarCunningham 3y agoThey're using 'contain' to mean 'keep isolated'. If you put some malware in a docker container, you can't rely on docker to keep the rest of your system safe.
- cies 3y agoCompatible means "syscall compatible" (I get that from the article). I wonder if it also means kernel module compatible (I dont think so, as the API touch point surface is much larger), but if it strives to be that'd be great (use all hardware that works on Linux).
- _flux 3y agoNot even Linux itself is kernel module compatible from version to version, so it would be exceedingly difficult to try to be compatible with it.
- cies 3y agoSure, but the benefit from being even partly compatible (same structs with same names, etc -- or maybe some compatibility layer) are great as Linux' devices drivers can then be ported more easily. On one end device drivers in Rust are now possible, OTOH the Meastro kernel. I wonder if there come be a day in my life that I run a non-C-kernel in prod/ on dev laptop.
- _flux 3y agoI hope that there would be architectural improvements possible that would not be realistic for current Linux, and implementing those changes would make also the internals—and thus the kernel module interfaces—look quite a bit different.
- cies 3y agoDunno what I hope for more: better internal architecture or more HW compatibility. I think the latter drives adoption more than the first.
- gardaani 3y agoThere's also Kerla [1] (Monolithic kernel in Rust, aiming for Linux ABI compatibility), but that seems to have gone dormant for few years. [1] https://news.ycombinator.com/item?id=28986229 https://news.ycombinator.com/item?id=28986229
- jillesvangurp 3y agoOr Redox OS, which is still there: https://www.redox-os.org/ https://www.redox-os.org/. It has a micro kernel design. But it is a bit more mature probably. And also MIT licensed so, there probably is some opportunity for code sharing.
- bestouff 3y agoLast time I had a look at it Redox didn't (even want to) implement Linux ABI compatibility.
- maxloh 3y agoSeems that the project is dead. The repository does not receive any commit for two years.
- panick21_ 3y agoNo its not. See: https://gitlab.redox-os.org/redox-os/redox/ https://gitlab.redox-os.org/redox-os/redox/ https://www.redox-os.org/news/development-priorities-2023-09/ https://www.redox-os.org/news/development-priorities-2023-09...
- Arnavion 3y agoThey were talking about Kerla but replied to the wrong comment.
- westurner 3y agoThe redox-os post mentions cosmic desktop, and future wayland support, which may now already be almost implemented? The System76 blog appears to have updates regarding COSMIC DE: https://blog.system76.com/post/the-spirit-of-cosmic-december-updates https://blog.system76.com/post/the-spirit-of-cosmic-december... Components of Cosmic Desktop Rust-based Desktop Environment: https://github.com/pop-os/cosmic-epoch#components-of-cosmic-desktop https://github.com/pop-os/cosmic-epoch#components-of-cosmic-... cosmic-comp/src/wayland/handlers https://github.com/pop-os/cosmic-comp/tree/master_jammy/src/wayland/handlers https://github.com/pop-os/cosmic-comp/tree/master_jammy/src/...
- cmrdporcupine 3y ago[flagged]
- zelphirkalt 3y agoGood that I did a CTRL+F before posting. It indeed seems to be a trend to try and supplant GPL software that has served well for decades with hip and trendy probably safer software, that meeeerely has a small catch ... MIT license. I wonder how these projects even attract enough people to be developed. Especially developers of a kernel should be aware of the license side of things, that has protected us all.
- jeroenhd 3y agoThese days, I don't think people care about the principles that made Linux a success in the first place. From what I can tell, most people seem to take "open source" as "code I can reuse" rather than some kind of ideology about software freedom. Luckily, most Linux alternatives seem to go absolutely nowhere, so I doubt this project will have much of an impact beyond people thinking "huh, cool project".
- Qwertious 3y ago>rather than some kind of ideology about software freedom. And correctly so. "Open source" was explicitly intended to strip the ideology in order to more effectively market the bazaar development model to businesses. That's the difference between Open Source and Free Software.
- cmrdporcupine 3y agoEven though I advocate the GPL, I am not convinced Linux was a success because of the GPL. It's more a success because of the amazing determination and maintainer skills of Linus Torvalds and the group of enthusiasts that rallied around it in the early days. I have been using Linux (as a user, not a contributor) since pre 1.0 (0.9something on a 486, installed off floppies, fun times.) And it's just amazing where we've gotten to. Perhaps the GPL played a role in the early day in preventing a parasitical fork by a commercial entity, and by acting as a method of funneling in contributions. Hard to say for sure why Linux won over FreeBSD, though.
- goodpoint 3y agoWriting alternatives to GPL software under MIT/Apache licenses is really harmful for the FOSS ecosystem. We need to protect end users from more and more proprietarization, tracking and privacy breaching, SaaS and untrusted IoT devices.
- pas 3y agoThe road paved with good intentions and all. Sure, users are 1-bit entities in need of protection, no questions 'bout that, but also given that premise they are best served by good software that helps them get their job done. If a kick ass GPL software can do that, great. They will even pay for it. If not? They will pay for the non-OSI one that bundles the GPL and will laugh at GPL enforcement attempts. Licenses are intellectually cute, but unless it's well-enforced AGPL3++ it doesn't matter much. (See the recent thread about 3D printer https://news.ycombinator.com/item?id=38768997 https://news.ycombinator.com/item?id=38768997 )
- goodpoint 3y agoSuch snarky tone sounds unnecessary on HN. > unless it's well-enforced AGPL3++ GPL has been successfully enforced in various occasions, and it can be enforced effectively especially when large companies need to protect their R&D investments from freeloading competitors. A new, stronger "AGPL3++" can be written and enforced. Many companies have been experimenting with new licenses to find more sustainable options than the status quo.
- pas 3y agoIt seems necessary when a comment is throwing around hard claims like MIT is bad for FOSS without any supporting evidence/argument, with a side dish of maximum pathos of "think of the poor users". > especially when large companies need to protect their R&D investments from freeloading competitors. That sounds interesting, I haven't heard about instances like these. Can you name a few examples?
- deleted 3y ago[deleted]
- dark-star 3y agoWhat a cool little project. It's astonishing how far this can boot with less than a third of the syscalls of Linux implemented. However, my guess is that the ones that are missing are the more complicated ones. The TTY layer, for example, looks rather basic at the moment. Getting this right will probably be a lot of work. So don't hold your breath for Maestro running your Linux applications in the next 3 years or so (even without taking into account all the thousands of drivers that Linux has)
- berkes 3y agoIs there maybe a subset of Linux applications that it could run soon? A proxy, nfs, some database server, http server, firewall? I think it doesn't need to run Steam, libreoffice and Firefox to be useful. Many parts in a common server or microservices architecture are relatively simple in what they do and would probably benefit a lot from a safe, simple kernel.
- consp 3y ago> Is there maybe a subset of Linux applications that it could run soon? A proxy, nfs, some database server, http server, firewall? You first need to port drivers for your -specific- network and io chipset. And if you want adoption and performance you also need the manufacturer on board. My guess is not quite soon.
- eggnet 3y agoA good first target is a VM.
- ClumsyPilot 3y agotahts actually a pretty huge market
- deleted 3y ago[deleted]
- pizza234 3y agoI think this had already been attempted by the now-discontinued project [Kerla](https://github.com/nuta/kerla https://github.com/nuta/kerla).
- llenotre 3y agoI didn't know this project. I will check it out!
- tutfbhuf 3y agoI wonder how far we are from having a GPT-X.Y operating in a loop, creating a fully Linux-compatible kernel with all 437 system calls in Rust within a day, which includes testing, debugging, and recompiling.
- _nalply 3y agoI imagine someone could set up a complicated autofeedback loop. Describe the task to the LLM, give a development system and a possibility to run many tests, then let it rip. I still think perhaps not too soon. I think the problem that there are many things to optimize for. One of them is correctness, but if a program runs this does not mean it is correct. Another thing is security. How to test the system for security? Have another LLM playing an adversary and try to hack the system? This said, I wonder if someone manages to pull this off what the implications might be. One of them: Have this system re-run automatically everytime as long as the Linux kernel is maintained. Then why should anybody invest the effort of continuing development of the Linux kernel? Then how to advance the development? Just tell the LLM to add a feature?
- ilc 3y agoBecause there is much more to the linux kernel than maintenance. Look at things like ebpf and uring for examples of meeting real needs with new development in the kernel. I doubt that a LLM will be able to come up with the ideas, and implement these things without substantial prompting. For the every day stuff. Yeah, sure. Though you'd be amazed how many strange corner conditions POSIX and Linux have even around "simple" things like pipes. ... Understanding the whole context may be beyond where we are today based on what I have seen from LLMs, there may day where they can come closer. But as the Klingons say: "Not today."
- _nalply 3y agoIt's not neccessary that the LLM by itself comes up with ideas, only the person who tells the LLM. «Gee what if the kernel could do clairvoyance? Implement a syscall! Specify the parameters and the structure of the data being returned!» </s> A more realistic scenario is just imitating Linux' syscalls. EDIT: Just had an idea what could happen. Some guy can't do kernel development but is annoyed that a feature request got declined. Someone else set up an LLM-driven kernel development system. That guy now tells the system to implement said feature. The rest of the story: even more community fracture.
- rvz 3y agoSome words of encouragement in the sea of pessimism on HN which brought down the previous attempt at this [0]. Keep going, ignore the FUD and continue where others have left off. We need alternative and safer kernels, and attempts like this should be encouraged. Rust is suitable for that guarantee. Keep going. [0] https://news.ycombinator.com/item?id=28986377 https://news.ycombinator.com/item?id=28986377
- llenotre 3y agoThank you very much! Even if nobody liked the project, I would not be planning to stop it. I am doing this as a hobby first! Having even one other user than me would be terribly difficult but if it happens that would be super cool! If it does not happen, then I just have my own system and I am happy with it anyways!
- deleted 3y ago[deleted]
- schmorptron 3y agoIt's great to see optimism on here, especially about people's personal open source projects! Cynicism is appropriate when talking about commercial and larger projects and news, but for people doing things for fun and in the open, I'd always choose the most charitable and uplifting thing to say. About the content of your comment : IMO a true Linux replacement would also need to be gpl or otherwise strongly copyleft licensed. The fact that gpl has forced some corporations into co-operation who otherwise wouldn't have is worth a lot!
- drtgh 3y agoThis sounds more than great. Unrelated but at same time related, feel your self absolutelly free to ignore this message, Linux needs a HISP with firewall. I comment it here because this need to be supported by a/the kernel, its needed to limit the functions that allow process injections, and also a way for to canalize all the process executions in a supervised mode. As an [put operative system name here] user, I need (desire) to know when a process/program wants to access the network or internet, if it wants to act as a server, what port, what IP's wants to call at that moment, and to be able to block the operation before happen, limit what IP's are allowed to serve or not to the program, being able to sniffing the program behavior. In that moment/event, I need to know how was launched the process/program, what parent process launched it. To know if the process wants to inject over another one own resource something, or wants to access not natural system resources. And before it happens, being able to block such intention for folder/files/disk access, keyboard, screenshots, configuration system files, console commands and so on. If that program wants to launch another program, or service and so on, it's needed to control even if it is allowed to launch an executable in its own folder. Absolutely supervise the program and system access. As user, I need to be prompted about all of this before happens, with information, for to give permission or not, temporally at that moment, or session, or to save it as decision that will taken the next time the program run. Being able to configure latter it is essential, a UI more or less like a uMatrix UI point of view, and so on, designed for usability. When one run a program, the gears of the HISP always are runing: - Why is trying to inject this program the browser memory? of course I do not allow it, it's more, I kill the process right now . System scan now, we are in troubles. Log, were are the logs!! Damn, the next two days are going to be miserable... I'll probably format the whole system when I find from were entered this. - Why is this trying to connect to internet? it's more, this IP is from XXXXX, isn't it? sorry, I do not allow it, run without this requests or die. - What, this is requesting DNS?, And now it is requesting a local network IP address? Houston... - Ehhh, what are you doing with that keyboard capture try? unnecessary, akta gammat. - Ok server installed running for first time, but only under this specific port, and only the loopback IP is allowed to access, this computer and anyone else. This was fast. - Ok, I allow you to access such internet IP, but only this time, keep asking the next time you run, I'll decide. - Thanks for warning about the port scan, I guess with IPv6 this would be even worst. Thankfully I have all the services limited to IPv4 localhost, but I'll keep one eye over those bots if they insist much. - and so on. This does not exist in Linux. Currently it is a Windows users thing, after installing and configuring tools, with exception of the console command filtering and uMatrix UI, that I added because they are also necessary (In windows, HISP's configuring interfaces are just.. very rustic and hidden, they don't have usability in mind, it is like an available legacy feature, unfortunately). Whatever. In Linux, this require kernel custom modifications, and the whole HISP with firewall does not exist, and ironically, when separated one from the another are just useless. So, humbly but from an selfish way, I would ask to consider design the kernel with this thing in mind. ( I do not mean to design the HISP with firewall application). As I started saying, feel your self absolutely and totally free to ignore this message.
- potato24 3y agoThis is obviously impressive. Did you think from the beginning monolithic/module-based like linux was the way to go or did you consider making it a hybrid/micro kernel.
- llenotre 3y agoThe monolithic/module thing was imposed by the subjects at my school (since it started as a school project). However, a part of me is feeling like it could make sense to do a big refactor to turn all of this into a micro kernel. However I am not willing to do this until I have a plan to make it right. By the way, the 32 bits thing too was imposed by the school. I am now wondering if it still relevant to support it and just support 64 bits only...
- agentultra 3y agoSounds like a fun project. Curious though: most of the drawbacks to using C and difficulties with developing an OS are around debugging. I assume that the switch to Rust eliminated a certain class of memory error but is debugging still a pain? Or is there less of it than before the switch making debugging more tolerable?
- llenotre 3y agoA lot of memory and concurrency issues have been eliminated. It is still a pain to debug, but a lot less than it was before though. As an example, there is not a lot of chances you forget to use a mutex since the compiler would remind it to you by an error. This is not a silver bullet though, things such as deadlocks are still present. Especially with interruptions. To give an example, if you decide to lock a mutex, then an interruption happens, the code that locks the mutex will stop running until the interruption is over. If the interruption itself tries to lock the same mutex, then you have a deadlock, and the typing system cannot help you with this kind of problem. The solution is to disable interruptions handling while the mutex is locked, but the compiler cannot enforce it.
- claytonwramsey 3y agoIf you’re willing to implement your own mutex, it actually is possible to enforce! You could make disabling interrupts emit a token and then require the mutex to accept that token as a parameter to its locking behavior.
- loeg 3y agoHow would you enforce use of (only) the correct kind of mutex in interrupt context?
- smaddox 3y agoYou would probably need to pass around a context type that encodes information about the current context and which interrupts are possible. You would then acquire the lock via that context, which would handle disabling those interrupts.
- snvzz 3y agoI applaud them for getting things done vs just talking about it. Personally, I find yet another monolithic kernel unix clone is not what we need, but the point here is that it's made in Rust, which itself is an experiment; It is best to not do too many experiments at once, thus cannot complain.
- diggan 3y ago> Personally, I find yet another monolithic kernel unix clone is not what we need It seems highly irrelevant what you or I need. The author explicitly made the project as a learning experience, not for others. The "Why" is described in the opening paragraph, and makes the goal very clear. And it seems like the author was highly successful, so congratulations author! Great to see people diving headfirst into very complicated parts of the stack.
- snvzz 3y ago>It seems highly irrelevant what you or I need. There is no need to twist my words into sounding negative. As already explained in the parent, congratulations to them for getting it done, and I believe it does provide value through testing one thing (Rust) while sticking to the very mature and well understood UNIX design.
- diggan 3y agoSorry if it sounded rough but I don't think I twisted anything. It's fairly common for people on here to post stuff they done as a learning exercise, and also very common for others to then ask "But what is the value?" and "This doesn't seem useful to anyone", which I think could put first-time authors off from HN. I guess I just got a bit tired of it at this point.
- llenotre 3y agoThank you very much!
- yjftsjthsd-h 3y agoI mean, https://www.redox-os.org/ https://www.redox-os.org/ exists if you're into that
- deleted 3y ago[deleted]
- phkahler 3y agoMIT license? If by chance this evolves into something big, it will be eaten alive by commercial interests. Look at the conflict between Linux devs and nVidia for example. Look at the IBM/RedHat stuff trying to circumvent the spirit of the GPL, if maybe not the text of it. If it becomes a thing, the most active developers will be paid by corporations and they will not be sharing code with you when it suits them - which can be at the drop of a hat. I'd recommend changing to GPLv3 while your number of contributors is low enough to do it. Otherwise you're just doing free work for your future masters.
- winstonewert 3y agoIt seems to me that your examples rather show the futility of trying to use a license to force good behaviour rather than a reason to change licenses.
- yoyohello13 3y agoThe only reason there is one Linux kernel everyone uses is because of the license. If it wasn't GPL2 there would be "Microsoft Linux", "Google Linux", "Oracle Linux" all with different features and potential incompatibilities. At least with the GPL2 license those flavors have to contribute changes back upstream so everyone gets the benefits.
- wizzwizz4 3y agoThey don't have to contribute them upstream: they just have to give their users the permission to do so.
- phkahler 3y ago>> It seems to me that your examples rather show the futility of trying to use a license to force good behaviour rather than a reason to change licenses. If not for the license there would be NO good behavior. Notice that nVidia is relatively Linux friendly with some exceptions and RedHat seems to be under pressure to make more money but is otherwise very Linux friendly. Without the license, all sorts of others would be blatantly ripping it off. I contend the difference in popularity and success between the BSDs and Linux is most likely due to the GPL license.
- llenotre 3y agoSo many thank to all of you for your support! This project has represented a lot of efforts for me and it means a lot! Right now the website seems to be pretty slow/down. There is a lot of traffic, which was not expected. I also suspect there might be a DoS attack going on. I will try to make it work better when I get home! (I am currently at work so I cannot give much attention to it right now) Sorry for the inconvenience, but glad you appreciate the project!
- dash2 3y agoDOS from HN's very own Slashdot effect...
- sillywalk 3y agoFor those who are wondering WTF is a Slashdot, and how does it effect websites. https://tech.slashdot.org/story/24/01/03/0017242/25-years-since-the-first-real-slashdot-effect https://tech.slashdot.org/story/24/01/03/0017242/25-years-si... https://en.wikipedia.org/wiki/Slashdot_effect https://en.wikipedia.org/wiki/Slashdot_effect
- hdjrbrbn 3y agoSlashdot was the GOTO site in the late 90's early 00's for tech news...
- PrimeMcFly 3y agoWeird to think there are now people so young in these types of discussions that wouldn't know about Slashdot.
- saghm 3y agoI was only vaguely aware of Slashdot (and never had heard this effect referred to by that name), and at 30, I'm probably more than a decade older than at least someone in this thread. If you want "weird", think of the fact that a baby named after Hurricane Katrina would be old enough to vote in this year's US presidential election.
- lucasyvas 3y agoTangent, but I love this Gource thing that the author made the contribution video with. I'd never seen it before but had an idea to try making something like it a couple of years back - no original ideas it seems!
- llenotre 3y agoOn my side, I discovered it a while ago with this video: https://www.youtube.com/watch?v=zRjTyRly5WA https://www.youtube.com/watch?v=zRjTyRly5WA
- kissgyorgy 3y ago[flagged]
- phowat 3y agoThe point is someone decided to write it and here it is.
- jwr 3y agoFantastic words of encouragement! It's always better to do nothing and criticize from the sidelines, right? My first thought when I looked at this project was the words of one Linus Torvalds more than 30 years ago (and yes, I remember that time) — "I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu)". I am so happy to see people take on things like that!
- ilc 3y ago95% will be good enough if it offers extra features that people want. Linux did not have full compatibility before it took off. And I don't think the bar is THAT much higher today for a new competitor, where I can swap the kernel in. If anything it may encourage us to use a few less Linuxisms in our code.
- diggan 3y agoReading the introduction in the post makes it pretty clear why it was created... > I like to dig into complexity, and I like to learn by doing. On top of that, I spend a lot of time on the computer. Wouldn’t it be cool if I had a system that I would know from A to Z and that I could customise as much as I wanted to fit my expectations?
- willangelo 3y agoI really like the idea of building a kernel, especiallly for learning purposes. Curious about the resources you used to understand the whole kernel/OS thing
- llenotre 3y agoMostly https://wiki.osdev.org/Main_Page https://wiki.osdev.org/Main_Page + Wikipedia
- willangelo 3y agoAwesome, thank you!
- electrodeyt 3y ago[flagged]
- evanjrowley 3y ago[flagged]
- jrochkind1 3y agoWhat about it seems unethical to you?
- elromulous 3y agoThe supreme court ruled[0] that copyright (and thus copyleft?) does not apply to APIs. [0] https://en.m.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_Inc https://en.m.wikipedia.org/wiki/Google_LLC_v._Oracle_America....
- Narishma 3y agoThey said unethical, not illegal.
- hnfong 3y agoThe case was subject to a lot of FUD and misunderstanding. This is one of them. > The supreme court ruled[0] that copyright (and thus copyleft?) does not apply to APIs. That is what they specifically stated was not the case. The text of Wikipedia (as of now) says: Breyer concluded that "we hold that the copying here at issue nonetheless constituted a fair use. Hence, Google's copying did not violate the copyright law."[77] This conclusion rendered the need to evaluate the copyright of the API unnecessary.[79] But let's look at the original Supreme Court decision (this is just the beginning first paragraph): """ JUSTICE BREYER delivered the opinion of the Court. Oracle America, Inc., is the current owner of a copyright in Java SE, a computer program that uses the popular Java computer programming language. Google, without permission, has copied a portion of that program, a portion that enables a programmer to call up prewritten software that, together with the computer’s hardware, will carry out a large number of specific tasks. The lower courts have considered (1) whether Java SE’s owner could copyright the portion that Google copied, and (2) if so, whether Google’s copying nonetheless constituted a “fair use” of that material, thereby freeing Google from copyright liability. The Federal Circuit held in Oracle’s favor (i.e., that the portion is copyrightable and Google’s copying did not constitute a “fair use”). In reviewing that decision, we assume, for argument’s sake, that the material was copyrightable. But we hold that the copying here at issue nonetheless constituted a fair use. Hence, Google’s copying did not violate the copyright law.""" (emphasis mine) The Supreme Court basically weaseled out of their responsibility of deciding the law (of whether APIs are copyrightable). The usual logic is to consider fair use after determining that a subject matter is subject to copyright. Pretty sure no lawyer or judge just jumps to fair use without first considering copyright. Anyway. In all fairness it was a difficult case. FWIW, it is arguable from an academic perspective that since the Supreme Court only reversed the decision on fair use but did not reverse the decision on copyrightability of APIs, the decision of the lower court stands.
- Havoc 3y agoIs there some sort of organised push for dropping copyleft? 2nd post today going down that route
- bigstrat2003 3y agoNot everyone likes copyleft licenses. It's as simple as that.
- deleted 3y ago[deleted]
- internet101010 3y ago"Since the OS started as a school project, I had to cut corners in order to finish it on time. But now is the time to pay back the technical debt I accumulated." Please try to keep this mindset.
- deleted 3y ago[deleted]
- MuffinFlavored 3y agoIt'd be cool to see it get "security/penetration tested/fuzzed" to see if "just because it's in Rust, is a good hacker able to find anything"
- llenotre 3y agoRust is not able to shield from everything. On top of that, there is a lot of unsafe code. I am 100% sure that fuzz-testing or pentests would reveal a lot of issues. This is not something I had time to work on yet.
- jancsika 3y agoMy two cents-- make the license be exactly whatever Linux is-- gplv2 only IIRC If you do this then you'll never waste another moment discussing licenses for the rest of your life. It's just "because it's what Linux uses" to the end of time. And even if there's some future question about license enforcement or whatever wrt gplv2, it will get decided within Linux/Linux Foundation/etc. and you just surf in on whatever happens without a care in the world. Same with what-ifs about, say, code potentially going back and forth between your project and whatever part of Linux becomes written in Rust. With MIT you'll get GPL zealots and/or MIT trolls chatting your head off about legal things they don't understand. With GPLv2 <-> GPLv2, it all gets optimized out. :) In any case, MIT 3-clause is a fine license so use that if you have your reasons. But trust me, optimizing out low-effort discussions of software licenses is worth it if you can do it. :)
- deleted 3y ago[deleted]
- Zambyte 3y ago> Computers are amongst the most complex tools that humanity has ever built. This does not bode well for computers.
- friedaanton 3y ago[dead]
- orwin 3y agoWow, i didn't think someone would be crazy enough to take on the ft_penguin project (is it still its name?). Really good job to be honest, when i was still at school (7 years ago now) i thought this was probably one of the project with the worse reward compared to the time needed. Did you start the project with a friend at first (before the rust rewrite)? Did you work on other projects at the same time? Looking up at your code, remembering how fun it was, i now kinda want to stop working in devops and start doing embedded or any low-level work like i intended to at first.
- Aerbil313 3y agoI’m surprised to see no one mentioned Theseus OS. It’s a WIP OS built from scratch with Rust, using Rust compiler’s guarantees around memory safety for automatically providing many things which require careful plumbing in conventional OSes. As an example it’s SPL, SAS (single privilege level, single address space) and yet is secure. All parts of the OS are hot pluggable too. The drawback is that all native code needs to be Rust, though a WASM runtime is implemented last year. Related thread from 3 years ago: https://news.ycombinator.com/item?id=25741729 https://news.ycombinator.com/item?id=25741729
- omeid2 3y ago> Motūrus OS (sometimes called Motor OS) But motor-os is literally the repository name. Sometimes?