License / Registration key enabled software

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • T

    #1

    License / Registration key enabled software

    We all know that there are many softwares that require some license key
    or registration key to enable them. How does one implement something
    like this in python?

  • James Stroud

    #2
    Re: License / Registration key enabled software

    T wrote:
    We all know that there are many softwares that require some license key
    or registration key to enable them. How does one implement something
    like this in python?
    >
    Here's a thought: AES encrypt the bytecode dynamically for each user,
    using as a key an sha hash of their personal and corporate information,
    ethernet hardware address, and some hardware specific information, such
    as the serial number of the diskdrive on which the software will be
    installed. Along with this dynamically encrypted version of the
    software, require them to save the personal and corporate information in
    the system registry or equivalent on their computer. Then write a C or
    Fortran extension that assembles this information on the client side,
    produces the hashed key and uses it to decrypt the bytecode real-time,
    when the program launches. This bytecode can be fed to a running python
    process via a pipe and executed through skilled use of the marshal module.

    Once you have implemented this system, license it to software vendors
    such as Microsoft (or better yet, scientific software companies). Please
    remember to pay me royalties in the sum of 20% gross profits for
    devising this system for you.

    James

    --
    James Stroud
    UCLA-DOE Institute for Genomics and Proteomics
    Box 951570
    Los Angeles, CA 90095


    Comment

    • T

      #3
      Re: License / Registration key enabled software


      Umm...I was hoping for something simpler and more straight forward. Is
      there a module that would be useful for this type of thing?

      Comment

      • Steven D'Aprano

        #4
        Re: License / Registration key enabled software

        On Sat, 23 Sep 2006 18:39:58 -0700, T wrote:
        >
        Umm...I was hoping for something simpler and more straight forward. Is
        there a module that would be useful for this type of thing?
        It really helps if you quote the relevant bits of the email you are
        replying to. Otherwise, people who come along and see your post will ask
        "Simpler than what? Module useful for what sort of thing? What is this
        luser talking about?"

        To implement a licence/registration key system in Python, you should first
        answer a couple of simple questions:

        Q1. Is my software so precious and special that users will put up with the
        inconvenience and nuisance value of registration keys?

        If the answer is No, then don't use registration keys. Find a different
        model to make money: give the software away and charge for support, or
        something. Using registration keys won't bring in money for you if your
        users just stop using the software and use a competing product instead.

        If the answer is Yes, then go on to question 2:

        Q2. Are you sure?

        If the answer is still Yes, then read this and see if it helps:




        --
        Steven.

        Comment

        • Sybren Stuvel

          #5
          Re: License / Registration key enabled software

          T enlightened us with:
          We all know that there are many softwares that require some license
          key or registration key to enable them. How does one implement
          something like this in python?
          Why do you want to? I've never seen software successfully protected by
          such schemes. If you really want to protect your software, turn it
          into a web application/service.

          Sybren
          --
          Sybren Stüvel
          Stüvel IT - http://www.stuvel.eu/

          Comment

          • Lawrence D'Oliveiro

            #6
            Re: License / Registration key enabled software

            In message <1158951061.539 594.164040@i3g2 000cwc.googlegr oups.com>, T wrote:
            We all know that there are many softwares that require some license key
            or registration key to enable them. How does one implement something
            like this in python?
            Reliably? Can't be done, in Python or any other language.

            Comment

            • Lawrence D'Oliveiro

              #7
              Re: License / Registration key enabled software

              In message <1159061998.460 873.321180@m73g 2000cwd.googleg roups.com>, T wrote:
              >Umm...I was hoping for something simpler and more straight forward.
              It cannot be done simply or straightforward ly. Or reliably, for that matter.

              Comment

              • Steven D'Aprano

                #8
                Re: License / Registration key enabled software

                On Mon, 25 Sep 2006 22:54:58 +1200, Lawrence D'Oliveiro wrote:
                In message <1158951061.539 594.164040@i3g2 000cwc.googlegr oups.com>, T wrote:
                >
                >We all know that there are many softwares that require some license key
                >or registration key to enable them. How does one implement something
                >like this in python?
                >
                Reliably? Can't be done, in Python or any other language.
                Of course it can -- you can rely on it to be cracked.

                Oh the other hand, for some uses, a partial success is better than none at
                all. (Personally, I don't believe that registration keys are necessarily
                one of those, but that's not up to me to decide.)



                --
                Steven D'Aprano

                Comment

                • Mike Playle

                  #9
                  Re: License / Registration key enabled software

                  On Fri, 22 Sep 2006 11:51:01 -0700, T wrote:
                  We all know that there are many softwares that require some license key
                  or registration key to enable them. How does one implement something
                  like this in python?
                  Here's a slightly different take on license keys that
                  nobody else has mentioned:

                  License keys exist to make it easier for honest users to
                  remain honest. Since any scheme can be cracked, dishonest
                  users will use your software without paying for it with
                  or without a license key scheme, so there's no point
                  spending much effort on the dishonest. Focus instead on
                  what your honest users want.

                  For instance a customer might want to buy a license to
                  use your software on up to 5 machines at once, but still
                  have the software installed on every machine in the
                  company. License systems like FlexLM can work here, to
                  make it easier for them to ensure that they comply with
                  the terms of the license.

                  Forget about the people who'll crack your software. Ask
                  yourself whether a license key scheme offers anything
                  to the people who won't try to crack it. If it does, then
                  actually implementing the scheme becomes trivial; if it
                  doesn't, then leave it out, because it won't help against
                  crackers.

                  Mike

                  Comment

                  • Robert Kern

                    #10
                    Re: License / Registration key enabled software

                    Mike Playle wrote:
                    For instance a customer might want to buy a license to
                    use your software on up to 5 machines at once, but still
                    have the software installed on every machine in the
                    company. License systems like FlexLM can work here, to
                    make it easier for them to ensure that they comply with
                    the terms of the license.
                    But then you must weigh that against the inconvenience that you impose upon your
                    customers. Although you may make it easier for them to comply with your license,
                    you are also making it harder for them to *use* your software.

                    I do not know a single person who has used FlexLM-licensed software and does not
                    hate FlexLM with a burning passion.

                    --
                    Robert Kern

                    "I have come to believe that the whole world is an enigma, a harmless enigma
                    that is made terrible by our own mad attempt to interpret it as though it had
                    an underlying truth."
                    -- Umberto Eco

                    Comment

                    • Ben Finney

                      #11
                      Re: License / Registration key enabled software

                      Mike Playle <usenet@vfx.org .ukwrites:
                      License keys exist to make it easier for honest users to remain
                      honest.
                      What doubletalk. If usage restrictions were in *any* way what end users
                      wanted, they'd choose software that has it over software that does
                      not.

                      Usage restrictions serve *no* want of the end user.
                      For instance a customer might want to buy a license to use your
                      software on up to 5 machines at once, but still have the software
                      installed on every machine in the company.
                      This need is adequately served by not imposing usage restrictions. Any
                      effective imposition of usage restrictions is hostile to the wants of
                      the user.

                      If usage restrictions are brought into the picture, it is to serve the
                      wants of someone else, *not* the end user. It is disingenuous to
                      suggest otherwise.
                      License systems like FlexLM can work here, to make it easier for
                      them to ensure that they comply with the terms of the license.
                      This is describing a want of the copyright holder, *not* the end user.
                      Forget about the people who'll crack your software. Ask yourself
                      whether a license key scheme offers anything to the people who won't
                      try to crack it. If it does, then actually implementing the scheme
                      becomes trivial; if it doesn't, then leave it out, because it won't
                      help against crackers.
                      Very sound advice, I agree entirely.

                      --
                      \ "If you're not part of the solution, you're part of the |
                      `\ precipitate." -- Steven Wright |
                      _o__) |
                      Ben Finney

                      Comment

                      • Steve Holden

                        #12
                        Re: License / Registration key enabled software

                        Ben Finney wrote:
                        Mike Playle <usenet@vfx.org .ukwrites:
                        >
                        >
                        >>License keys exist to make it easier for honest users to remain
                        >>honest.
                        >
                        >
                        What doubletalk. If usage restrictions were in *any* way what end users
                        wanted, they'd choose software that has it over software that does
                        not.
                        >
                        Usage restrictions serve *no* want of the end user.
                        >
                        No, but usage reporting is very important to large organisations with
                        enterprise copies of their applications. They want to stay in
                        compliance, and it's notoriously hard to track usage.
                        >
                        >>For instance a customer might want to buy a license to use your
                        >>software on up to 5 machines at once, but still have the software
                        >>installed on every machine in the company.
                        >
                        >
                        This need is adequately served by not imposing usage restrictions. Any
                        effective imposition of usage restrictions is hostile to the wants of
                        the user.
                        >
                        If usage restrictions are brought into the picture, it is to serve the
                        wants of someone else, *not* the end user. It is disingenuous to
                        suggest otherwise.
                        >
                        So you're suggesting that most people would rather be dishonest?

                        Otherwise you might as well say that any costs associated with using a
                        piece of software (including purchase pricing) are "hostile to the wants
                        of the user".
                        >
                        >>License systems like FlexLM can work here, to make it easier for
                        >>them to ensure that they comply with the terms of the license.
                        >
                        >
                        This is describing a want of the copyright holder, *not* the end user.
                        >
                        I think your view is a little biased here.
                        >
                        >>Forget about the people who'll crack your software. Ask yourself
                        >>whether a license key scheme offers anything to the people who won't
                        >>try to crack it. If it does, then actually implementing the scheme
                        >>becomes trivial; if it doesn't, then leave it out, because it won't
                        >>help against crackers.
                        >
                        >
                        Very sound advice, I agree entirely.
                        >
                        As do I. The sad thing is that the people most concerned about
                        protection of intellectual property are often the ones whose IP is least
                        likely to need protection.

                        regards
                        Steve
                        --
                        Steve Holden +44 150 684 7255 +1 800 494 3119
                        Holden Web LLC/Ltd http://www.holdenweb.com
                        Skype: holdenweb http://holdenweb.blogspot.com
                        Recent Ramblings http://del.icio.us/steve.holden

                        Comment

                        • Mike Playle

                          #13
                          Re: License / Registration key enabled software

                          On Thu, 28 Sep 2006 10:19:37 +1000, Ben Finney wrote:
                          >For instance a customer might want to buy a license to use your
                          >software on up to 5 machines at once, but still have the software
                          >installed on every machine in the company.
                          >
                          This need is adequately served by not imposing usage restrictions. Any
                          effective imposition of usage restrictions is hostile to the wants of
                          the user.
                          Who is "the user"? The person who uses the software isn't always
                          the same as the person who paid for it, or the person who'll be
                          in trouble if the license terms aren't adhered to.

                          Imagine you're an IT manager for a medium-to-large company who
                          wants to use some expensive piece of software. You talk to the
                          vendor and buy a licence to use the software on up to 5 machines
                          at once, but you don't know who in the company will want to use
                          it, so for convenience you want to install it on every PC in the
                          building.

                          Having installed it all over the shop, how can you be sure that
                          only 5 people are using it at any one time? Do you expect your
                          users to walk round the building asking everyone else if they're
                          using the software, or are they more likely to just start it up
                          and start working?

                          Of course this argument really applies only to large, expensive
                          commercial packages. I'd certainly agree that licence keys are
                          often used inappropriately in a way which doesn't really benefit
                          anyone, but this doesn't mean they don't have a place somewhere
                          in the grand scheme of things.

                          Mike

                          Comment

                          • Mike Playle

                            #14
                            Re: License / Registration key enabled software

                            On Wed, 27 Sep 2006 12:21:08 -0500, Robert Kern wrote:
                            Mike Playle wrote:
                            >For instance a customer might want to buy a license to
                            >use your software on up to 5 machines at once, but still
                            >have the software installed on every machine in the
                            >company. License systems like FlexLM can work here, to
                            >make it easier for them to ensure that they comply with
                            >the terms of the license.
                            >
                            But then you must weigh that against the inconvenience that you impose upon your
                            customers. Although you may make it easier for them to comply with your license,
                            you are also making it harder for them to *use* your software.
                            This is certainly true.

                            As with any other software feature it's vital to weigh up the
                            advantages against the disadvantages, and not blindly add
                            features which don't provide a clear overall benefit.
                            I do not know a single person who has used FlexLM-licensed software and does not
                            hate FlexLM with a burning passion.
                            Yup, I can agree with that. From the POV of the guy who just
                            wants to get some work done, it's usually a real pain.

                            His boss may have a different view of the matter, though.
                            I've met people who've _bought_ FlexLM-licensed software
                            who think it's the best thing since sliced bread.

                            Mike

                            Comment

                            • Sybren Stuvel

                              #15
                              Re: License / Registration key enabled software

                              Steve Holden enlightened us with:
                              Otherwise you might as well say that any costs associated with using
                              a piece of software (including purchase pricing) are "hostile to the
                              wants of the user".
                              It's true. People pay because they have to, but they'd rather not.

                              Sybren
                              --
                              Sybren Stüvel
                              Stüvel IT - http://www.stuvel.eu/

                              Comment

                              Working...