Working on a fork of Redox


#1

Hey! I recently started a fork of Redox, called Oxide (Or possible RedOxide, yet to decide). The point of this fork is to turn it into a more (new)user-friendly system. It is in early development, but I plan to/have started to implement:

  • PE execution layer (For windows users)
  • Simple .NET support (Based on the official source code or mono’s source code)
  • (May add) Linux ELF support (Linux libraries for Oxide)
  • Some tools aimed at developers:
    * Lua with a default library to interface with the OS
    * Simple Lua to byte-code to executable binary
    * (May add) C compiler (If I do, it will probably be based on GCC)

It will, like Redox, be under the MIT licence, although I may put it under the “WTFPL” licence (http://www.wtfpl.net/)

If anybody would like to help before I release the first version, then email me: jacobsinclairsemail@gmail.com
In the email’s subject, make sure to add ‘Oxide’ to the start so I can filter through all of them.

Thanks for reading and hope to update you on this soon!

EDIT 1: I have started to write the PE executable layer. It isn’t too hard due to the bunch of Window-Like operating systems that also use PE. Currently it can run C code compiled for windows, however I would like to make sure almost any windows application should run fine, so I am probably going to work on making a .NET execution layer next. The .NET execution layer will probably be based on Mono rather than .NET, however I may change my mind in the future. Also, just to clarify, this fork is to be centred around being easy to use for a new user, and in turn, making it a Desktop machine. It will still be possible to use only a CLI and host a server on it, but that will not be the main focus.


#2

That’s very cool! Remember that each component of Redox is in a different licensing domain. It is required to keep MIT where it is used, but you can sublicense with a wide variety of MIT compatible licenses. GPL must be kept where used, and has very few options for sublicenses. https://en.m.wikipedia.org/wiki/License_compatibility

We have ports of gcc and lua already, they just need to be installed in the filesystem.toml. I would be very interested in a Mono port as part of the cookbook.


#3

Thanks! I will probably work on porting my personal lua interpreter (called ‘XLua’, it is basically lua but it has some features similar to that of java). This would be optimal, because then I could package software or libraries in a file (either .xlx for software and .xll for libraries) and have it work seamlessly over all platforms. Also, this could give me a chance to (if I can be assed to) look through the rust compiler and allow XLua programs to interface with Rust static or dynamic libraries


#4

What about native Dart, HTML and CSS applications and UI support? Like Google Andromeda project. And like https://electron.atom.io/ It can be one step in future. Lua also can be used for system scripting, best scripting-language.


#5

That is an amazing idea! I will possibly implement that if I have the time. Also, here is a small progress update (no release as it isn’t stable enough yet):

  • Full lua support with an expanded standard library to suit Oxide
  • A basic port of .NET (based on a fork of Microsoft’s .NET for linux, then ported to Oxide)
  • A simple bare-bones version (only with lua and a canvas for drawing to, could be useful if I create an ARM version, as it could be used in mobile devices (not that it will))