Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Chris Angelico Newsgroups: comp.lang.python Subject: Re: Obfuscating Python code Date: Wed, 16 Mar 2016 07:31:06 +1100 Lines: 19 Message-ID: References: <570f76f8-1e4a-421f-b1ff-4fba72f06a56@googlegroups.com> <6849887.F7PvubJjsv@PointedEars.de> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: news.uni-berlin.de /7lam6qk1NYIuYN8khhS7AkxBAq+Yplux9+C+NTZeM4A== Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.003 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; '16,': 0.03; 'open-source': 0.04; 'subject:Python': 0.05; 'source.': 0.05; 'distributing': 0.07; 'subject:code': 0.07; 'cc:addr:python-list': 0.09; 'python': 0.10; 'assume': 0.11; 'wed,': 0.15; '2.1.1': 0.16; '2016': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'received:io': 0.16; 'received:psf.io': 0.16; 'stuff.': 0.16; 'wrote:': 0.16; 'cc:2**0': 0.20; 'cc:addr:python.org': 0.20; 'otherwise,': 0.20; 'forms.': 0.22; 'gcc': 0.22; 'am,': 0.23; '(or': 0.23; 'header:In-Reply-To:1': 0.24; 'software.': 0.25; 'least': 0.27; 'message-id:@mail.gmail.com': 0.27; 'restrict': 0.27; 'said,': 0.27; "skip:' 10": 0.28; 'code': 0.30; 'anyone': 0.32; 'software,': 0.32; 'source': 0.33; 'usually': 0.33; 'open': 0.33; 'received:google.com': 0.35; 'world,': 0.35; 'newer': 0.35; 'should': 0.36; 'received:209.85': 0.36; 'subject:: ': 0.37; 'received:209.85.213': 0.37; 'difference': 0.38; 'received:209': 0.38; 'mean': 0.38; 'means': 0.39; 'does': 0.39; 'some': 0.40; 'software': 0.40; 'your': 0.60; 'no.': 0.62; 'programs': 0.62; 'providing': 0.62; 'making': 0.62; 'service.': 0.63; 'thomas': 0.63; 'between': 0.65; 'mar': 0.65; "today's": 0.69; 'chrisa': 0.84; 'way)': 0.84; 'to:none': 0.91 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc; bh=Xe93oo5p8ndkHAD6KpfmaDLnNftOy1hADnOayayYMuc=; b=Nz/ExBj7jSu+uv2t0lvOUFs8B7e/hwpHMZzTXWStsP/lNrtdhq5B/s53i/RWI/2bFU 3B0gfRJBdgRVJk6KFMTcSZMqe5woHBcU5eSRZnzwQfMMvkxJnDW0OifRA8/+r8qm2lAa YGEapqjuzlN2JiuIoEsdbh36JWRNWfKtYE4rQ8NLrn91oxet1GaVsymMrQo6Ba4Z9UPX CnN2QwHVRJFx6+rHYSfoi7xcODBEJa0Y9jLOEQFGwGS9ihfqAsCP0FPWzX9eh+fRjcac 1L3dz4jptvkRA45wn+nIn29V4nFTQJKm4PRVUnQOxeenehfoixctX7HrXeb2RIoiWMnH mUhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:cc; bh=Xe93oo5p8ndkHAD6KpfmaDLnNftOy1hADnOayayYMuc=; b=ZaU5KaNyfyBjsTQ9/Ory7GBDW6Tq7Pd2sateZZV0b4I3FqOfZM7UtikbaozgrGx0Y9 pElw8zYvEiyXkr5nQRmSsDtwjoumMJLLSit5wXXN8IUlR4yl9OZZIbbtCq9e2JQmtXqF LyEVA4g8cH5c3WKz/MS+DdYFi6txieOQOeutOnnuYmCqYpLixrM7GPzam7Yv7fZkdHxQ /IyhpN56ZZUYbKh0AKdEeVUrtHAPThutWs46ZZMK6cgYrqzDBGXpiZywY/KjRQwYLA3Y g6qJVhkEhJus+12NQZwBjhdmGo9xWX2/bo/cVAI3bXVP2sPKfmzDzm0n3oXGkh4HaT83 EwGw== X-Gm-Message-State: AD7BkJIs+Z2kDZayJXqOXMtsM7RuBEMqrE1oj2yTt8efvKojYuWIq7SUCaI4aupO0VHX3v8z5pJCB7EXs4xphQ== X-Received: by 10.50.43.168 with SMTP id x8mr26504419igl.92.1458073866987; Tue, 15 Mar 2016 13:31:06 -0700 (PDT) In-Reply-To: <6849887.F7PvubJjsv@PointedEars.de> X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Xref: csiph.com comp.lang.python:104955 On Wed, Mar 16, 2016 at 5:59 AM, Thomas 'PointedEars' Lahn wrote: > That said, not distributing the source code of a program as well (or at > least making it available to users in some way) strikes me as unpythonic > since Python is at least Open Source software, and Python 2.0.1, 2.1.1 and > newer are GPL-compatible Free Software. gcc is also free software. Does that mean that all C programs should be free software? No. However, since all software can be reverse-compiled (particularly byte-code like .pyc files), the only truly reliable way to make completely closed software is to restrict access to it in all forms. In today's world, that usually means providing it as a web service. Otherwise, you have to assume that anyone can see your source. The only difference between open-source and closed-source is the license, not the ability to see stuff. ChrisA