Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

The ActiveState Platform and Perl 5.32

by autarch (Hermit)
on Dec 10, 2020 at 21:22 UTC ( #11124975=perlmeditation: print w/replies, xml ) Need Help??

Note: Technically, this post qualifies as paid promotion, because I work for ActiveState. But I volunteered to write about our new Platform and promote it because I think what we're doing is really cool and might be of interest to the Perl community at large.

This is a short excerpt of a longer post that you can read in full on my blog.

TLDR

  • We have an entirely new system that supports Windows and Linux (macOS coming soon), providing you binary builds of the Perl core, Perl distros, and supporting C/C++ libraries.
  • When you use our State Tool, you can create any number of entirely self-contained virtual environments, one per project. This makes switching between projects trivial and these virtual environments are easily shared across a team or organization.
  • No more ActiveState Community License! The only licenses that apply are the original licenses for each open source package we build for you.
  • You don't need a Platform account to try this out. But you can play with our system and sign up at any time and keep all the work you've done so far.
  • It's usually quite fast. If we've already built a particular distro/language core for the given platform, we use a cached version, so many builds take a few seconds. Entirely new builds are slower, but still faster than doing it by hand locally in many cases, because we distribute work throughout a build farm.
  • The core features are all free. Most features are free for public projects. We also have paid features including private projects, build engineering support, support for older platforms, indemnification, and more.
  • The Platform has lots of other cool features like revisioned projects, advanced dependency resolution, and more.

Read the rest of the post.

Replies are listed 'Best First'.
Re: The ActiveState Platform and Perl 5.32
by stevieb (Canon) on Dec 10, 2020 at 22:23 UTC

    Is the platform Open Source? If not, how do you manage the licenses of the various distributions where "we do all of the compilation and building on our side and give you the bits".

    Not all licenses are the same. Curious as to how you manage to stay legal if you're building, say, for example a GPL distribution from the CPAN and only supplying the "bits".

      The platform itself is not open source, but the bits you get out of it (for Perl 5.32) are under the same license as the thing that was compiled. For something like GPL code, unless we patch it, we can just point at the upstream source code if someone wants it. That said, we will soon offer direct access to source via an API we're currently working on. It will let you get all the upstream source for a given build easily.

        Thing is, if my understanding of GPL is correct (and it may not be as I use the Artistic license), if a GPL project is included in another project, everything must be Open Source. I don't believe you can compile and send over the bits of a GPL project without having the encompassing project being GPL as well.

        At least that's how I understand the GPL in my limited knowledge.

        Might be worth having your legal team look into this.

Re: The ActiveState Platform and Perl 5.32
by stevieb (Canon) on Dec 10, 2020 at 22:27 UTC

    Further questions... have things been improved with this new packaging/bundling of distributions? I've heard horror stories about your previous packaging system falling out of support or outright not working with no way to get things to work properly. Can a user install directly from the CPAN if they so choose? What's the support model? You might want to describe that here. In a year when a license runs out, are all of the environments going to be unusable, or without ability to add new distributions?

      That's a lot of questions. I'll answer each in turn.

      Have things been improved with this new packaging/bundling of distributions?

      I think so, but that's really for each person to decide for themselves. There's plusses and minusses with every tool. Right now the Platform is still in early days. I think it will only get more useful and appealing in the future

      Can a user install directly from the CPAN if they so choose?

      There's nothing that would prevent you from installing things from CPAN using the normal CPAN toolchain with a Perl we provide. If you were to mix CPAN modules with things we provide, it would eliminate most of the Platform's benefits. You wouldn't be able to easily replicate this project's environment elsewhere.

      The one wrinkle is that we don't ship the compiler and toolchain that we use to build this stuff with the bits. So you'd need to have a compatible compiler, make, etc. On Linux this won't be a problem. On Windows our 5.32 build is using mingw, so it's probably not too hard to replicate that environment for yourself. When we have macOS working, that will use either GCC or Clang, so that is easy to replicate as well.

      What's the support model?

      The support model is similar to most SaaS services with a free tier. We offer free support on a best effort basis via a Community Forum. And of course, paid tiers have more support included.

      In a year when a license runs out, are all of the environments going to be unusable, or without ability to add new distributions?

      The Perl core and modules you install are simply licensed under the same license as the Perl core and those modules. If the Platform were to disappear, you could still use those bits, copy them, and redistribute them under those licenses. So in that sense the Platform and its tooling is just making using this more convenient. You're not required to use the Platform to use the bits you install.

Re: The ActiveState Platform and Perl 5.32
by afoken (Canon) on Dec 11, 2020 at 16:16 UTC
    We have an entirely new system that supports Windows and Linux (macOS coming soon), providing you binary builds of the Perl core, Perl distros, and supporting C/C++ libraries.

    Linux distrubutions generally come with Perl in the distribution's native packaging resp. building system. Dependencies are resolved by the same system. The same is true for the *BSDs. Further more, building a custom Perl on Linux, BSD and other Unixes is a solved problem. Even building tens or hundreds of specific perls is ridiculously simple thanks to perlbrew. All that's left is Windows, and for that, Strawberry does the job extremely well. I've switched from ActivePerl to Strawberry around 5.8.0 and never regretted that.

    When you use our State Tool, you can create any number of entirely self-contained virtual environments, one per project. This makes switching between projects trivial and these virtual environments are easily shared across a team or organization.

    Creating a virtual machine for a project is trivial, both on servers and workstations, and so is copying VM files around. VirtualBox, Proxmox, TrueNAS (as FreeBSD-based VM host using bhyve) are free. So what?

    No more ActiveState Community License! The only licenses that apply are the original licenses for each open source package we build for you.

    In other words, people were so annoyed that they stopped using your products and now you want to get them back?

    You don't need a Platform account to try this out. But you can play with our system and sign up at any time and keep all the work you've done so far.

    I don't need an account to try. What about continous use?

    It's usually quite fast. If we've already built a particular distro/language core for the given platform, we use a cached version, so many builds take a few seconds. Entirely new builds are slower, but still faster than doing it by hand locally in many cases, because we distribute work throughout a build farm.

    distcc, ccache. Both come prebundled even in ancient distributions like Slackware.

    The core features are all free. Most features are free for public projects. We also have paid features including private projects, build engineering support, support for older platforms, indemnification, and more.

    So far, I don't see anything that can't be done without Activestate, except for paying money for things that are free and come preinstalled.

    The Platform has lots of other cool features like revisioned projects, advanced dependency resolution, and more.

    So it uses git or svn?

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

      Yes, you can roll your own solutions to do all of this. The advantage of the Platform is that you don't have to do it because we provide a simplified solution with both web and CLI interfaces. We think some people will find value in that, but we're not claiming it's the only way to do these things.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://11124975]
Approved by choroba
Front-paged by Discipulus
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2021-03-02 02:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My favorite kind of desktop background is:











    Results (33 votes). Check out past polls.

    Notices?