CloudReady - Source Code?

Comments

42 comments

  • Forrest Smith

    Hi David,

     

    Parts of CloudReady are open source in the way you're describing (a GPL-style license), whereas other parts are not (Chromium the browser has a BSD license, which gives anyone permission to alter the code and provides no requirement that derivative code be open sourced).

    All that said - our goal is top be fair and provide source access to anyone who desires it, for all components.

    The infrastructure to always have our source available online  is expensive, so we adhere to the standard open-source requirement that written requests be honored within a reasonable time frame.

     

    So - that is all to say - I can get our dev team to export the source to you over the next couple of weeks - I will provide it via email. 

    Can you confirm we should go ahead with the export?

    0
    Comment actions Permalink
  • David McClellan

    Hey Forrest,

    That would actually be really cool! If you don't mind and it doesn't take away too much time for them to export it, I would greatly appreciate that. I don't want to put anyone out of their way to do so though. My answer is a yes, but no need to prioritize. 

    Thank you so much, you guys have been awesome from a personal and professional level in my eyes. I've been more than impressed. Thanks again

    0
    Comment actions Permalink
  • trisk

    I understand source requests are probably rare for you, and publishing change history directly may not be appropriate for your business or development needs. However, there are alternatives like making snapshots for each release that are basically painless once you have a process for It. It's not too different what you're already doing on demand anyway.

    It's pretty common practice, even in larger companies, to use free hosting such as GitHub these days to publish source. That removes most of the up-front cost that used to be involved. If you're concerned about e.g. people making malicious builds with your branding, those resources could be omitted.

    I think there's a lot the wider community could contribute to CloudReady and vice-versa. :)

    0
    Comment actions Permalink
  • Forrest Smith

    trisk - 

     

    It's clear you and others would be a benefit, and in the medium to long term we love the idea of developing in the open so that we move forward faster.

     

    However, that requires a level of product and community management that we don't have bandwidth for yet. For now we'll have to stick to old fashioned sharing.

    0
    Comment actions Permalink
  • taste2016

    You could even provide source dumps; at least every few months. Seems uploading tar.gz to github or kernel.org could not cost you too much money.

    1
    Comment actions Permalink
  • Forrest Smith

    We should have a tar of everything sometime this week - sorry for the delay, just takes a little time to sort through everything.

    0
    Comment actions Permalink
  • Forrest Smith

    Hi everyone -

     

    Just in time to hit the 2 week deadline we set, I have a tar ball for you!

     

    https://s3.amazonaws.com/neverware-cloudready-sourcedrops/neverware-2016-05-19-16.06.08-source.tar

     

    Enjoy!

    1
    Comment actions Permalink
  • Roman Fomin

    Please, dump your stable or unstable sources to GitHub.

    I currently face some installer error -- I want to be able to create an issue for you on GitHub or fix it myself.

    Thanks.

    0
    Comment actions Permalink
  • Forrest Smith

    Hi,

     

    It's no small task to "dump... to Github". As you might expect for a system this involved, there's a lot there, and a lot of both connections to Vanilla Chromium and copies of repos in Vanilla Chromium which we've forked.

    We also have hooks into our not-open-source build system which would need to be properly removed to prevent errors. 

    Since we're not currently in that state, we've only been providing source via tarball dumps like you see in this thread.

     

    What I'd recommend (and this is what our developers do internally as well, for the record) is to take a look at Vanilla Chromium OS, build and test to see if your issue is there. If it is, you should plan to send the fix to vanilla Chromium and we will, as a matter of course, also inherit it.

    If you issue is only in CloudReady, we can work with you to pinpoint where this issue comes from and then update to match the not-broken component in Vanilla Chromium OS. 

     

    This minimizes the delta between Vanilla Chromium OS (which we think is well-maintained for all but a few particular purposes) and CloudReady.

     

     

    We can also start by digging deeper into the details of your install error if you want to share them - maybe it doesn't require a code change?

     

    (If you just want source, my goal is not to obstruct - let me know and we'll bundle it up and pass it on).

    1
    Comment actions Permalink
  • codechippy

    Hi Forest

    Can we get an updated tarball.

    I have successfully built a a package for lm-sensors in cloudready 

    as I want to enable better power and fan control for high end cloudready configs.

    However I am missing the nct6775 driver to get detailed fan speed information.

    This looks likes its in the source tarball you posted above , but is not in /lib/modules/4.14.13+/kernel of cloudready home edition I am running. When I try to build the driver from the github source it needs the kernel header files.

    Can I also request that you include the module in your next release?

    Cheers

    Codechippy

     

     

    0
    Comment actions Permalink
  • Forrest Smith

    Hi Codechippy,

     

    It takes a little time to pull together a source tarball, but we'll certainly be happy to do so if you give us a week or two.

     

    As for the driver you see in the old source but not the new source - that old source is old enough that I would guess the driver has been replaced or deprecated. If it is no longer present in the stable LTS Linux kernel we're shipping (4.14.13) that's probably because it was purposefully removed by the kernel maintainers in favor of a different system/tool of fan management. So, while you're welcome to try out whatever you'd like, I don't think it'll be likely that we'll add in that module in a future release unless it turns out that it was omitted by error, rather than on purpose.

    0
    Comment actions Permalink
  • codechippy

    Forest many thanks

    I will look to see if there has been a replacement for lm_sensors

    Codechippy

    0
    Comment actions Permalink
  • codechippy

    So I built the kernel module using Crouton, and  it looks like the nct6775 driver is already there as part of the built in kernel drivers, so no need to create a module for it.

    Here is dmesg after trying to "sudo insmod nct6775.ko"

    and output of dmesg

    Looks like I will have to look at sysfs to see if I can find what is happening with fan control on my system

    Cheers

    Codechippy

     

    0
    Comment actions Permalink
  • Forrest Smith

    https://s3.amazonaws.com/neverware-cloudready-sourcedrops/neverware-2018-02-26-12.38.56-source.tar

     

    codechippy et al,

     

    Here's a tar of our latest source. There are no API keys included, since those need to stay with us, but otherwise: have at!

    0
    Comment actions Permalink
  • taste2016

    Thank you as a humble user of Cloudready to Neverware. Have installed to many individual users that are always thankful. I really hope you are successful with your project/company. Would be great if you can bring some kind of CloudReady-Admin console (with a $5 subscription per individual laptop). Say then I can admin 5 different computers remotely.

    Or at least create Stripe account (not paypal .-() so that individual users can support your project by voluntary donations!

    I am constantly recommending it at every instance inside my organisation (who are very google-averse sorry).

    1
    Comment actions Permalink
  • Forrest Smith

    Hi taste2016.,

    We're happy to be of help..

    Administration controls do exist in the Education & Enterprise version - you get access to some controls for plugins and licensing at my.Neverware.com , and can opt for even more control via Google Chrome Management Licensing.

     

    You can compare versions here

     

    Thanks for your suggestion around contributions. We're looking into options on that front and would love help from our Home user community to keep the OS free and improve it, so keep an eye out for that! 

    1
    Comment actions Permalink
  • dragon788

    Hi Forest, it would be awesome if you guys could keep up a quarterly code drop cadence while you work towards making your modifications more shareable as well as easier to submit fixes or improvements to in the future.

    I've worked a few places that have had to manage keeping secrets out of source code as a general security and compliance practice which also improves the ability to make it shareable via open source. There are some linting/auditing tools that can help detect secrets in a corpus of code as well depending on what version control hosting you are using. Let me know if you would like more details and I'd be happy to supply them as I'm really excited to hear that you guys have acquired Flint OS and I hope you can continue their practice of publishing code on GitHub or elsewhere to make it easier for passionate technical people to build their own version and peek under the hood.

    0
    Comment actions Permalink
  • Forrest Smith

    Hi dragon,

    Your suggestion seems totally reasonable to me. We're a small crew, so devoting any resources to the administrative tasks of scrubbing code secrets and releasing source is meaningful for us since it's essentially a non-technical, non-value-additive task that only an engineer, our most valuable resource, can do.

     

    Maintaining our project openly on Github is a greater challenge - it may not be obvious, but those kinds of projects require a major time investment just to manage the community. We'd love to do it, but don't have the man hours at this point. Our hope is always that users who want to contribute to CloudReady can do so using the robust Chromium OS developer ecosystem. Anything contributed upstream to the main Chromium OS source will make its way to CloudReady as well. Even if the folks upstream don't want your change for various reasons, once you've worked on it using that toolchain it will be in a form that we can review too.   


    In the mean time, I think a discussion about quarterly source drops is pretty sensible as a first improvement, so we'll see if that's an option.

    1
    Comment actions Permalink
  • Alberto

    Hi.

    Would it possible to get the latest tarball for this month? I am working on project that requires some modifications for hardware support.

    Thanks in advance!

    0
    Comment actions Permalink
  • ml8

    Hi Forrest, are there any chance can get a tar ball dump of your code? I am really interested in the docker and flatpak support thing there.

    0
    Comment actions Permalink
  • Forrest Smith

    Hi,


    I'll kickoff the internal work to get together a latest-version of our source tarball.

    I'll also note, in the mean time, that you may be able to learn just as much/more by poking around a live-running system on the command line. I'm sure our developers would be happy to answer any specific questions you had along the way as well.

    0
    Comment actions Permalink
  • Anton Paulic

    Hi Forrest,

    I've been waiting for your latest kernel source code to be released as well.

    Can you please update on the timeline of the source release?

    Best regards.

    0
    Comment actions Permalink
  • Forrest Smith

    Hi all,

    This is almost ready - we did a revamp of our scripts to ensure any API keys etc were removed. Should have a download link within a day or two.

    Thanks for your patience!

    0
    Comment actions Permalink
  • Forrest Smith

    Hi all,

     

    Happy to say that your request spurred some interest internally at fulfilling your request and opening up even more.

     

    Here's our Linux kernel repo:

    https://github.com/neverware/kernel

    That will stay available there going forward!

     

    For the broader source, you can download this tarball:

    https://neverware-cloudready-sourcedrops.s3.amazonaws.com/neverware-78.2.3-source.tar

    enjoy!

    0
    Comment actions Permalink
  • Anton Paulic

    Thank you for taking this extra step for the kernel source code!

    Huge undertaking I'm sure, and I'm sure plenty of people will be appreciative of this!

    Sadly, I still couldn't locate the specific thing I'm looking for, how you guys managed to enable tablet mode rotation (works perfectly on my surface pro 3) because I am trying to get rotation working in chromium and thought the fix was in your iio sensor drivers.

    If by any chance you could get a developers insight into this I'd greatly appreciate it but I also understand if you cannot.

    Cheers.

    0
    Comment actions Permalink
  • Forrest Smith

    I think the drivers are all part of the open source kernel - looks like we had to enable them as part of our kernel config in the chromiumos-overlay. Looks like the file path is something like 

    "sys-kernel/chromeover-kernel-4_14/files/chromeover-config"

    and the changes to the file are:

    # Neverware: enable sensors [OVER-6883]
    CONFIG_HID_SENSOR_ACCEL_3D=m
    CONFIG_HID_SENSOR_DEVICE_ROTATION=m
    CONFIG_HID_SENSOR_GYRO_3D=m
    CONFIG_HID_SENSOR_INCLINOMETER_3D=m
    CONFIG_HID_SENSOR_MAGNETOMETER_3D=m

     

    Hope that helps!

    0
    Comment actions Permalink
  • Anton Paulic

    Thanks for replying Forrest.

    I did already have all those drivers enabled as modules, and do have them loaded.

    I compared directly against when I have cloudready loaded and running on here vs when I have my chromium build running.

    If I enable tablet mode and proceed to rotate the device, it only works under CloudReady. So at this point I'm unsure where else to look. I even recompiled the kernel I'm using with the iio and i2c source code for these drivers from your new github link to no avail.

    They compiled fine and loaded fine but still no rotation.

    If you happen to have any other ideas I'd certainly appreciate it. The auto rotation function seemingly only functions under CloudReady and is a bit of a mystery in the chromium development circles.

    Cheers!

    0
    Comment actions Permalink
  • Forrest Smith

    I'm sorry - I wish I had more insight to offer, but the only commits we made when we did the work to initially enable this was what I linked there. 

    I think typically triggers for rotation and tablet mode are enumerated as inputs (run evtest to see the list). You could start from there to troubleshoot whether any of the inputs there show activity when you rotate, to try to figure out if the problem is that the drivers aren't working properly vs. the OS not receiving and using the messages from the drivers.

    0
    Comment actions Permalink
  • Anton Paulic

    Hi Forrest thanks for the tip.

    I checked evtest and nothing there shows up for rotation under chromium or CloudReady.

    So while I was booted into CloudReady for evtest, I figured to try giving rotation another test in CloudReady...I enabled tablet mode no problem, and for whatever crazy reason auto rotation is not working in CloudReady now either. I booted up Windows 10 and Android-X86 and both have working auto rotation.

    I don't know for sure what version I tried last of CloudReady, but if it was any version other than the current 78, it would have been 77.

    Totally shaking my head now because I know for a fact that rotation was working in CloudReady as recently as a week ago.

    Totally bizarre.

    0
    Comment actions Permalink
  • Forrest Smith

    I've recently noticed some flakiness where screen rotation only works if I rotate the devixe prior to enabling tablet mode. Maybe that's your issue?

    0
    Comment actions Permalink

Please sign in to leave a comment.