Hi,

It has been a while since the last release but I have only recently found 
some time and energy to update the roadmap 
- https://github.com/cloudius-systems/osv/wiki/Roadmap. It is meant to be a 
"living" document that more-less captures what we (me?) would like to work 
on in near future. So it is more-less my wish list but I would like to use 
this occasion to seek your input as well. I would like to know what you 
would want to be implemented/improved/changed etc. Feel free to respond to 
this email or directly update the roadmap wiki or add comments. Also, all 
OSv issues are here - https://github.com/cloudius-systems/osv/issues and if 
you find any interesting ones please feel free to add them to the wiki.

In order to facilitate the discussion I am enclosing the roadmap here with 
some of my extra comments:

Modularization/"Librarization"
   
   - Hide most symbols and C++ standard library (Partially addressed by this 
   
<https://github.com/cloudius-systems/osv/commit/af2d371a61f6ab1eb5a066a0c3e93230faf6611c>
 and 
   other commits)
      - Issue 97 
      
<https://github.com/cloudius-systems/osv/issues/97#issuecomment-643833296> - 
      Be more selective on symbols exported from the kernel
      - The research results with numbers described in this discussion 
      <https://groups.google.com/d/msg/osv-dev/fs-jmyaXY_E/vWUk-wDDAAAJ>
       and the older one 
      <https://groups.google.com/d/msg/osv-dev/JsJfnhTX_EY/PKUvYm9-AQAJ> seem 
      to indicate that both C++ standard library and other non-public symbols 
      should be hidden in the kernel to make this goal achievable
   - Make ZFS optional as a shared library 
   <https://github.com/cloudius-systems/osv/issues/1009> - the patches 
   <https://groups.google.com/g/osv-dev/c/utWNzLGBwog> to address this 
   issue were sent a couple of days ago
   - Create toolchain to optionally build custom kernel tailored to 
   specific hypervisor or app 
   <https://github.com/cloudius-systems/osv/issues/1110>
      - See this original discussion 
      <https://groups.google.com/d/msg/osv-dev/BHwN6Stm3n4/arvdOwl3AAAJ>
   - Reduce kernel size
      - Shrinking kernel described in this early discussion 
      <https://groups.google.com/d/msg/osv-dev/hCYGRzytaJ4/D23S_ibNAgAJ> would 
      really be a result of hiding C++ library and most symbols (see above) but 
      also conditionally compiling in/out various modules (see the first bullet 
      in the Modularization/"Librarization")
   - Expose C++ APIs as C to hide C++ completely

<https://github.com/cloudius-systems/osv/wiki/Roadmap#support-statically-linked-executables>Support
 
statically linked executables
   
   - See 
   
https://github.com/cloudius-systems/osv/issues?q=is%3Aissue+is%3Aopen+label%3Astatic-elf

<https://github.com/cloudius-systems/osv/wiki/Roadmap#improve-tooling>Improve 
tooling
   
   - Improve capstan (see Capstan "2.0" Wiki 
   <https://github.com/cloudius-systems/capstan/wiki/Capstan-2.0>)
      - *THIS is a project on its own, somewhat independent but I think it 
      is very important to improve building and running OSv images; it would be 
      nice to fine a volunteer that would focus on it entirely*
   - Create IntelliJ, Maven and or Gradle plugins to deploy Java, Node, etc 
   apps
   - Run Docker images on OSv (possibly musl-based like Alpine are better)
      - There is already an existing example - 
      
https://github.com/cloudius-systems/osv-apps/tree/master/openjdk12-jre-from-docker
   
<https://github.com/cloudius-systems/osv/wiki/Roadmap#merge-parts-of-ipv6-branch-into-master>Merge
 
parts of ipv6 branch into master
   
   - Port partial netlink support 
   
<https://github.com/cloudius-systems/osv/commit/f1cd48e0f192564d64e7b1e1caccc8df05e7cd5d#diff-21721ffc9ac62efcdfda3e5f92f0b8ce612881e93722fab8b1002a469b6ebfff>
 in 
   order to fix libc: Fix if_indextoname(), if_nametoindex() 
   
<https://github.com/cloudius-systems/osv/commit/d35c3ddfae69db4d6877fb93341f711b3aefd6a8#diff-16c8c6eb85e05438f5d6c60ff9869072a3a3b1618aa1481ac7a0cb049f06f51d>
   - Also, reach out to Spirent to see if any more networking related bugs 
   fixed can be brought over from the https://github.com/SpirentOrion/osv
    fork

<https://github.com/cloudius-systems/osv/wiki/Roadmap#others>Others
   
   - Help review and merge the "lazy-allocated stack" patch 
   <https://groups.google.com/g/osv-dev/c/tZnwiScmjZY/m/GkY0hV9EAwAJ>
   - Fix cli/lua on newer Fedora (see 
   https://github.com/cloudius-systems/osv/issues/1166)
   - Consider implementing a read-write filesystem alternative to ZFS - 
ext2/3/4 
   ? <https://github.com/cloudius-systems/osv/issues/1179>
   - Improve gdb support 
   <https://github.com/cloudius-systems/osv/issues/1167>
   - #1069 <https://github.com/cloudius-systems/osv/issues/1069> - Add 
   vsock support
      - *Would there really be real-world application of that? Maybe to 
      provide better OSv-host configuration capabilities?*
   - Support other booting methods like UEFI 
   <https://github.com/cloudius-systems/osv/issues/1098>
   - Support other hypervisors
      - Support new KVM-bases AWS instances (see 
      https://github.com/cloudius-systems/osv/issues/924)
      - Support Hyper-V (see 
      https://github.com/cloudius-systems/osv/issues/735)
      - *What about XEN? Is it still "a thing" in terms of supporting it? I 
      have very little experience with XEN and I sense that XEN has evolved a 
lot 
      in the last 6-7 years.*
   - Support .NET Core executables
      - See what needs to be finished in this thread 
      <https://groups.google.com/d/msg/osv-dev/k69cHw7qvTg/9NqPq70IAwAJ>
   - Refresh look and feel of http://osv.io
   - RISC-V port <https://github.com/cloudius-systems/osv/issues/1171>

<https://github.com/cloudius-systems/osv/wiki/Roadmap#various-finer-level-improvements>Various
 
finer-level improvements
   
   - Optimize memory allocator to better deal with "small" amount of memory 
   - https://github.com/cloudius-systems/osv/issues/1013
   - #28 <https://github.com/cloudius-systems/osv/issues/28> - Optimize 
   atomic operations on UP (single-VCPU)
   - #1016 <https://github.com/cloudius-systems/osv/issues/1016> - Add 
   support for smb2/3 (samba) file system T
      - There is already a patch sent to the list 
      <https://groups.google.com/d/msg/osv-dev/QToC22-QHiA/ejSOMGe7BwAJ>
   - #1041 <https://github.com/cloudius-systems/osv/issues/1041> - Idea for 
   easily creating OSv images from a list of Ubuntu packages
   - Fix networking bugs
      - https://github.com/cloudius-systems/osv/issues/420
      - https://github.com/cloudius-systems/osv/issues/454
   - Speedup VFS - https://github.com/cloudius-systems/osv/issues/450
   - Improve XEN support
      - https://github.com/cloudius-systems/osv/issues/498
      - https://github.com/cloudius-systems/osv/issues/345
   - Speed-up realloc() by mremap() - 
   https://github.com/cloudius-systems/osv/issues/184
   - Investigate virtio-net “slow path” - 
   https://github.com/cloudius-systems/osv/issues/177

<https://github.com/cloudius-systems/osv/wiki/Roadmap#improve-aarch64-support>Improve
 
AArch64 support
   
   - Work on aarch64 issues 
   <https://github.com/cloudius-systems/osv/labels/aarch64>
   - Fix various bugs/limitations 
   <https://github.com/cloudius-systems/osv/wiki/AArch64#bugslimitations>
   - Implement gaps in respect to x86_64 
   
<https://github.com/cloudius-systems/osv/wiki/AArch64#gaps-with-respect-to-x64>


Finally, I also hope to find some new volunteers to help me work on some of 
those improvements ;-)

Regards,
Waldek

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/osv-dev/b302c81c-d81a-48f3-b025-20b40d6cd356n%40googlegroups.com.

Reply via email to