DesktopBSD 2.0 roadmap

Discussion in 'Development' started by malco_2001, Sep 21, 2015.

  1. malco_2001

    malco_2001 DesktopBSD Veteran

    Joined:
    Feb 22, 2015
    Messages:
    50
    Likes Received:
    14
    Hello DesktopBSD community,

    I was a user of the original KDE based DesktopBSD 1.x releases before the project went into retirement. A few years ago I became a volunteer for the FreeBSD Gnome project. I also ran a package repository called pkgdemon few years that offered early access Gnome 3 packages for FreeBSD. This led to me becoming a commiter for the PCBSD project, and I helped import Gnome 3 among many other commits.

    In addition I've worked on the various back-end, and front-end tools. I have a lot of experience with ISO generation. I've worked on the pcbsd-build tools source code as well. In addition I've contributed to numerous other projects.

    You can see much of my work over at github here:

    https://github.com/pkgdemon for other projects I have committed to
    https://github.com/pcbsd/pcbsd/commits?author=pkgdemon for a lot of PCBSD specific stuff

    With your blessing I'd like to step to lead this project in a new direction as a project manager, and developer. I've spoken a bit with EchoD before hand, and here is my proposal below.

    Summary of new features for DesktopBSD 2.0:

    64 bit only at least initially
    UFS/ZFS filesystem support
    Rolling release only
    Binary upgrades with pkg
    Fast boot up
    Security focused
    Current driver support at all times
    GhostBSD installer
    GTK3 based desktop environment

    I'm interested in starting a new project to take things in a new direction, and offer up something new to the BSD community. Rather than base the desktop on FreeBSD I would like to base on NextBSD-HARDENED. Before I explain hardened let me talk about NextBSD. NextBSD itself is a spork of FreeBSD that includes the necessary mach calls to support launchd. Both of these are technologies developed by Apple. Launchd is very similar to SystemD in that it offers modernized service management. This results in faster boot times due to services starting in parallel.

    In addition I would like to possibly include openrc, or patched rcorder as a fallback technology until all services can be started with launchd out of box. This would offer compatibility while offering the fastest booting BSD distribution out there besides the ones with no services! This would be ideal for devices such as desktops, and laptops. I realize that technologies such as systemd are not for everyone. However I believe there are even a group of Linux users that won't use the BSD's due to the BSD's having a lack of similar technology. This would give those potential users somewhere to go.

    The NextBSD-HARDENED branch itself focuses on integrating the work from HardenedBSD. HardenedBSD is a hardened fork of FreeBSD that offers various mitigation technologies out of box. In addition many interesting things are happening in this spork such as the removal of old sendmail components for example. I think having such technology like this as a foundation could give us unique interest that might drive more developers such as myself who are interested to try a BSD variant.

    For the desktop itself in order to try to remain a little more unique I would like to focus on Gnome3, and eventually a customized shell specific to DesktopBSD. Two reasons for this. The installer I would propose to use for this project would be the GhostBSD fork version of PCBSD's pc-sysinstall. This variant of the pc-sysinstall already supports the UFS filesystem in the GUI. Also mixing QT apps with GTK means a larger ISO which I want to avoid.

    I am open to a KDE5/Plasma5 version as well. It's just a bit more work involved, and a longer path to an ISO getting out the door. In addition I think DesktopBSD could stand out a bit more by being more of a Gnome / GTK focused distro, and yet could remain close to GhostBSD which does not yet offer a Gnome3 version. I would like to try to to stand apart from both projects but support the ecosystem, and share fixes with both communities. Of course every effort would be made to make all of the other desktops available through the pkg command at all times, and easily installable by “pkg install kde4” for example.

    The feature is I would like to be first at is to remove freebsd-update, and support complete system upgrades through pkg. This means a new release comes out, and you can just pkg upgrade to get the latest current release. I would like to only track current, and reduce time trying to backport fixes to production, and stable while providing the for latest possible driver support at all times. Lastly I only want to support the amd64 until this project get's off the ground, and more developers volunteer.

    Another direction I could take would be to start a new project, new name, new artwork, new website. That's a lot of extra unnecessary work that I wouldn't have to do if I could just work with EchoD, and this community under the DesktopBSD umbrella. So I have had this idea of just offering to take over this role for the DesktopBSD project for some time. It's a good name. I think it has a lot of value. I would like for DesktopBSD to become the BSD variant that helps bring in the next generation of users, and developers.

    While none of this is necessarily set in stone I'd like to pretend the ISO is already out the door as it won't take long to produce, and get into EchoD's hands. I'd love to hear your feedback, and suggestions. I'm also more than willing to work with any potential volunteers.

    Sincerely,
    Joe Maloney
     
    #1 malco_2001, Sep 21, 2015
    Last edited: Sep 24, 2015
    pmden and EchoD like this.
  2. EchoD

    EchoD Administrator
    Staff Member

    Joined:
    Mar 9, 2013
    Messages:
    94
    Likes Received:
    7
    Thank you very much for writing this up, Joe. I am fully on board with this initiative and welcome feedback from the community.
     
  3. brunomaximom

    brunomaximom Member

    Joined:
    Sep 23, 2015
    Messages:
    7
    Likes Received:
    0
    I agree and don't agree...
    I would recommend create the own desktop environment and bring only one in ISO image. I like GNOME 3 design, but it has a lot of linuxisms and I think we need to focus on BSD technologies, even FreeBSD, NextBSD and Hardened techs.
    Maybe a modular well designed desktop environment written in Objective-C/GNUstep because released yearly:
    1- Objective-C is simple like C but with classes like what C++ should be, and it's mature.
    2- GNUstep brings a little more compatibility with OS X environment, maybe this can turn easier to third-party developers port theirs OS X versions of softwares. Imagine Photoshop running on FreeBSD.
    3- yearly to provide stabler desktop environment to the users, quick changes do not happens to acommodate users and do not provide buggy upgrades.
    4- Maybe copyleft like Mozilla Public License, maybe Apache.
     
  4. malco_2001

    malco_2001 DesktopBSD Veteran

    Joined:
    Feb 22, 2015
    Messages:
    50
    Likes Received:
    14
    I kind of like your thinking about GNUstep in some ways. Let me look into what I can do with it to see if it fits. Absolutely the behind the scenes technologies such as FreeBSD, NextBSD, and Hardened are the core focus for me. I planned to integrate Gnome3 with launchd for example. Does it change your mind any that we will be developing our own interface, and replacing gnome-shell? The end result will look more the like original DesktopBSD only modernized.
     
  5. brunomaximom

    brunomaximom Member

    Joined:
    Sep 23, 2015
    Messages:
    7
    Likes Received:
    0
    Will you include a DBus interface in launchd? I really think this is not a good idea...
    DBus is the cause of bugs in the Linux graphical interfaces. I think the coming Mach technologies in NextBSD is the great feature...and doing GNOME switch for this technology is impossible. GNOME developers are linuxists.
    There isn't GNOME NetworkManager in FreeBSD too...
    I think it's hard to start developing a new DE in a existent project, this is something to discuss...
     
  6. malco_2001

    malco_2001 DesktopBSD Veteran

    Joined:
    Feb 22, 2015
    Messages:
    50
    Likes Received:
    14
    I'd like to stick with devd only, and not start dbus, or hald.
    I already have it running.
    Most of the FreeBSD ports tree is Linux software that had to be corrected. For example /bin/bash hardcordings...
    KDE is no exception. It has issues on FreeBSD as well.
    That's why PCBSD uses it's own network manager, and GhostBSD has it's own wifi tool.
    That's why Lumina (based on fluxbox) was created for FreeBSD/PCBSD by Ken Moore. 1 person.
    Discuss away. I'd love to know how many others feel the same. This is what I am after. I did have one person pretty much tell me that no one will go for my ideas because it's not following the original QT/KDE path. Do you see my points however?
     
  7. brunomaximom

    brunomaximom Member

    Joined:
    Sep 23, 2015
    Messages:
    7
    Likes Received:
    0
    Own NetworkManager seems like non-native GNOME app, so I don't know...
    A day I built GNUstep with no patches on FreeBSD, just gmake installed. Qt and GTK are awesome, but GNUstep seems to me the way to go for BSD world now.
     
  8. malco_2001

    malco_2001 DesktopBSD Veteran

    Joined:
    Feb 22, 2015
    Messages:
    50
    Likes Received:
    14
  9. brunomaximom

    brunomaximom Member

    Joined:
    Sep 23, 2015
    Messages:
    7
    Likes Received:
    0
    I know Etoile, I think it's unmaintained.
     
  10. malco_2001

    malco_2001 DesktopBSD Veteran

    Joined:
    Feb 22, 2015
    Messages:
    50
    Likes Received:
    14
    I've been looking at it. They are just focusing development more on the application frameworks these days. It may be too incomplete to consider an option as much as I like the idea. I'll try it out, and see what happens.
     
  11. EchoD

    EchoD Administrator
    Staff Member

    Joined:
    Mar 9, 2013
    Messages:
    94
    Likes Received:
    7
    Our first tweet :D

     
  12. malco_2001

    malco_2001 DesktopBSD Veteran

    Joined:
    Feb 22, 2015
    Messages:
    50
    Likes Received:
    14
    I did make some major progress last night towards a fast booting M1. It's so fast! In my environment I did take the time to review GWorkspace.app (GNUstep). I think it's interesting, and I may work on some form of it eventually. I don't think it's a good fit for this project at this stage however.

    Here was what GNUstep looked like for those interested.

    DesktopBSD M1 (GNUstep).png

    I want to put every effort into making this release feel like the true successor to DesktopBSD 1.7. As part of this effort I have been getting reacquainted with the original DesktopBSD 1.7 release. I've noticed lots of little things.

    One interesting feature was that the installer warned you that it was about to enter X, and gave you a chance to stop the hardware detection. That's useful on systems that might crash so that feature will work the same. Those are the kinds of things I want dial in on, and focus on for 2.0.

    Overall what you will also be able to expect is a consistent look, and feel from the original. For example when Apple released OS X it largely worked the same as the legacy releases. What was under the hood, and what is was developed with changed. It just looked, and worked a million times better. That is what should be achieved with this release.

    So the handbook will still open the same way. The desktop will have icons. The applications menu will still work the same. I will share screenshots of the new interface I am working on as it comes along.
     
    #12 malco_2001, Sep 24, 2015
    Last edited: Sep 24, 2015
    EchoD likes this.
  13. malco_2001

    malco_2001 DesktopBSD Veteran

    Joined:
    Feb 22, 2015
    Messages:
    50
    Likes Received:
    14
  14. LorenS

    LorenS New Member

    Joined:
    Sep 25, 2015
    Messages:
    3
    Likes Received:
    1
    I realize that technologies such as systemd are not for everyone. However I believe there are even a group of Linux users that won't use the BSD's due to the BSD's having a lack of similar technology. This would give those potential users somewhere to go.

    I am a linux user that is moving to *BSD because of systemd. I honestly don't see what the fuss is about fast start up times. I don't reboot very often, and saving 10 seconds isn't worth it to me. I have played with PCBSD a bit, but I prefer doing my own in FreeBSD.

    I have been watching this site for a while now, and I am very interested in what transpired. I am not a fan of Gnome3, but I am excited to see what happens!
     
    malco_2001 likes this.
  15. brunomaximom

    brunomaximom Member

    Joined:
    Sep 23, 2015
    Messages:
    7
    Likes Received:
    0
    from your image of GWorkspace I think you are not seeing it manages the desktop too. it is a file manager and the desktop at same time properly. like OS X's Finder.

    why you don't fork etoile in DesktopBSD github and port to FreeBSD ports, then I could see what is its status and maybe contribute at some way.

    if you really want to bring GNOME, i think it's painful and you will have to deal with GNOME developers...they are very unfriendly for non-Linux users.
     
  16. malco_2001

    malco_2001 DesktopBSD Veteran

    Joined:
    Feb 22, 2015
    Messages:
    50
    Likes Received:
    14
    Sorry brunomaximom. I tried but I can't get etoile to work. If you can get it working I'd be happy to check it out.
     
  17. brunomaximom

    brunomaximom Member

    Joined:
    Sep 23, 2015
    Messages:
    7
    Likes Received:
    0
    create a new DE is out of the question?
     
  18. EchoD

    EchoD Administrator
    Staff Member

    Joined:
    Mar 9, 2013
    Messages:
    94
    Likes Received:
    7
    It's not out of the question, but we're not exactly fully staffed right now, and the focus is on getting this release out the door. As our team grows, a custom desktop environment will become more feasible.
     
    malco_2001 likes this.
  19. brunomaximom

    brunomaximom Member

    Joined:
    Sep 23, 2015
    Messages:
    7
    Likes Received:
    0
    right, @malco_2001 any progress on how integrate gnome and nextbsd?
     
  20. malco_2001

    malco_2001 DesktopBSD Veteran

    Joined:
    Feb 22, 2015
    Messages:
    50
    Likes Received:
    14
    Brunomaximom check out the discover page for screenshots:

    http://www.desktopbsd.net/?pos=discover

    Also I have made the project tracking public if you want to follow what is going on.

    https://github.com/desktopbsd/desktopbsd/milestones/

    I have a OS X look-a-like version with a dock at the bottom. You could easily just slap gnustep on top of that, and have GWorkspace.app launch at startup. That would give you a pretty nice OS X like clone. If you want I can post a pic so you can see if it's something you might be interested in.