As part of the collaboration between Canonical and the University of Bristol, the project will target AppArmor and snap-confine as industrial case studies. Both are critical to Ubuntu’s security posture, and provide a substantially harder test than isolated translation examples. They will help us evaluate whether the techniques can cope with the structure and constraints of mature production software.

Note that this is not a commitment to replace AppArmor or snap-confine with what is generated, rather that we have a vested interest in the software and are keen to see the results.

The most optimistic outcome would be a system capable of translating substantial C repositories into Rust with strong evidence of behavioural equivalence and relatively little manual intervention. The research could also produce better methods for decomposing repositories, stronger validation techniques, reusable translation datasets, improved program-repair tools and a more precise understanding of where automated migration stops being reliable.

  • hackerwacker@lemmy.ml
    link
    fedilink
    arrow-up
    70
    arrow-down
    12
    ·
    edit-2
    1 day ago

    IMO this rust shit is just an attempt to convert a GPL licensed ecosystem into the Corpo-CHUD preferred MIT license.

    Just like with Clang, the Corpo is simply intolerably offended by being asked to contribute back to the community.

    • ISO@lemmy.zip
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      5 hours ago

      Wow! What an observant smart thought.

      Well, except for the fact that code conversion doesn’t give you the permission to change licenses or remove copyright. And the small matter of fact that both projects mentioned are Canonical projects, where whatever code that is not directly copyrighted by Canonical, is contributed by someone who signed an agreement with this stipulation:

      (b) To the maximum extent permitted by the relevant law, You grant to Us a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable licence under the Copyright covering the Contribution, with the right to sublicense such rights through multiple tiers of sublicensees, to reproduce, modify, display, perform and distribute the Contribution as part of the Material; provided that this license is conditioned upon compliance with Section 2.3.

      “Us” being Canonical of course. So they could actually “re-license” the projects right now, without changing a single line of code.

      It’s always astonishing how condiment in their ignorance people are when it comes to these matters.

      You geniuses are getting too predictable with your ignorance.

      I literally wrote what’s quoted above yesterday replying to someone else.

    • SavvyWolf@pawb.social
      link
      fedilink
      English
      arrow-up
      9
      ·
      9 hours ago

      If they’re translating GPL code to Rust, doesn’t that constitute a derived work and require the resulting code to be GPL licenced too?

      • melfie@lemmy.zip
        link
        fedilink
        arrow-up
        3
        ·
        7 hours ago

        Yeah, pretty sure rote translations of the same logic into a different language is considered a derivative work. This is why companies making their own version of copyrighted software often take a “clean room” approach to cover their asses where different people study the existing software and write the spec than the people implementing the spec.

    • trevor (any/all) @lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      47
      ·
      edit-2
      1 day ago

      Using Rust in no way requires the usage of pushover licenses. While it’s true that many devs are using pushover licenses, there are plenty of GPL Rust projects. You are just focusing on the sensationalized ones that get mentioned in news cycles.

      • mexicancartel@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        14
        ·
        17 hours ago

        It doesn’t require, but they use rust as an excuse to do that. Ubuntu’s attempts at rust rewrite was all license change iirc.

          • communism@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            4 hours ago

            Converting a GPL codebase to another language creates a derivative work which, by the terms of the GPL, must be GPL-licensed.

          • trevor (any/all) @lemmy.blahaj.zone
            link
            fedilink
            English
            arrow-up
            10
            ·
            1 day ago

            Which speaks to my other comment: nothing about Rust necessitates using corpo licenses. The reason so many things are being rewritten in Rust is that it’s a great language and it provides tangible benefits to users. The owning class doesn’t need a special language as a pretext to de-GPL an ecosystem. They could do it with C, OCAML, or any other lang.

            • SocialistVibes01@lemmy.mlOP
              link
              fedilink
              arrow-up
              7
              arrow-down
              4
              ·
              edit-2
              1 day ago

              The language, as an inanimate object, doesn’t have an ideology, sure. However, people running the show in partnership with the ruling class have.

              IMO any speech about Rust rewritings must denounce how the language can be, and it is, being used to attack software freedom.

              • trevor (any/all) @lemmy.blahaj.zone
                link
                fedilink
                English
                arrow-up
                5
                ·
                edit-2
                1 day ago

                IMO it isn’t in bad faith any speech making that apparent.

                I’m not sure I understand what you meant (there may be a typo in there).

                The language, as an inanimate object, doesn’t have an ideology, sure. However, people running the show in partnership with the ruling class have.

                This, I agree with. It is very concerning that Rust has so much corporate buy-in. And the structure of The Rust Foundation being operated more like a business than something like the Zig Software Foundation does worry me.

                But I often feel the need to chime-in and correct the common misconception that Rust rewrite == corpo-relicense. It’s false and I think the conspiratorial coupling of Rust to corporate embrace-extend-extinguish only serves to discourage people from writing better software.

                I would love to see a community fork of Rust and its ecosystem one day, but I don’t think we get there by discouraging people from writing or using Rust software.

                  • trevor (any/all) @lemmy.blahaj.zone
                    link
                    fedilink
                    English
                    arrow-up
                    1
                    ·
                    1 day ago

                    My understanding of gccrs is that it merely provides a way to compile Rust software with GCC instead of LLVM, which is great! But it’s such a small piece of the Rust ecosystem (it’s merely a frontend). Maybe it’d be a good starting point for a more copyleft ecosystem in the future though.

                • trevor (any/all) @lemmy.blahaj.zone
                  link
                  fedilink
                  English
                  arrow-up
                  3
                  arrow-down
                  2
                  ·
                  edit-2
                  1 day ago

                  This is a bit of a tangent, so I didn’t include it in the above comment, but I don’t think “open source” is sufficiently anti-capitalist, so the (A)GPL was never going to save us to begin with. “Open source”, as defined by the OSI (a.k.a. a handful of megacorps in a trench coat) and the FSF, prevent “discrimination of use”. So if you want your software to be “open source” or “free software”, you have to accept that your software can be used by for-profit entities to exploit your labor, and potentially to perform heinous acts, such as military or surveillance usage. What we currently call “copyleft” is actually just copylib 😭

                  No open source license, not even the (A)GPL, allows you to forbid this. Unfortunately, I don’t see an alternative framework being widely adopted anytime soon. It seems that the best you can do for now is use niche licenses like this and just accept that your software can’t be considered “open source” :/