I've been thinking about create a couple of python-based applications and distributing them for free.

My applications will be only for Windows since it is the system I use personally. What I am looking for is to distribute a compiled executable, with the '.pyd' files of the modules used or needed. I have no commercial purpose.

My concern is the use or distribution of modules. There would be some kind of problem with distributing the applications with the '.pyd' files, so they can be easily used?. How can you distribute these files, without facing any problem?. All licenses are gpl and I find them quite complicated even to make free programs

I've seen a lot of programs and games lately, even commercial ones, that use python and distribute the '.pyd' files of the modules. I've researched everything possible, but it's never clear enough. In some cases it is supposed to indicate which modules were used and together with this, the source code is placed. In other words, copy all python modules used, many times? I can't believe it's like that.

For this reason, I come to ask, if anyone knows for sure how to do this. Thank you in advance for your answers.

  • 2
    The normal approach to distribute Python software is to make it installable via pip, which has the added benefit of dependency management. Usually, this is done by creating wheels which bundle/zip the Python source code and possibly binary dependencies. Python does not support any binary format that is suitable for distribution, and .pyd files are Windows-specific. – amon Feb 17 at 7:08
  • Thanks for answering. I know that the 'pyd' files are only for Windows, and that is because I am just looking to distribute a compiled executable for this system – user17257 Feb 17 at 18:13

After having read all the documentation on the different licenses, I understand that it may be about the 'Linking' method explained.

About 'linking' in Frequently Asked Questions about the GNU Licenses the following is explained: Linking [name of your program] statically or dynamically with other modules is making a combined work based on [name of your program]. Thus, the terms and conditions of the GNU General Public License cover the whole combination.

Even so, it is not explained how to proceed when having multiple modules with gpl licenses. It is an impossible task to chase each of the modules attached by python in a program, to put the license of each of them together with the source code. In addition, the gpl licenses requires the source code to be published, even when a single unmodified library is used and the program is completely freeware.

It seems that these conditions really must be met, but for me it is not possible, so I will end up doing absolutely nothing, and sadly I will continue to use my software personally.

| improve this answer | |
  • If you have "no commercial purpose", what's the issue with distributing the source and using an open source license as required by some of the GPL libraries used? It's usually not a giant deal to know what libraries you use... each has an import statement in your code – planetmaker Mar 16 at 7:42
  • "no commercial purpose", you have no reason to mark it, it is true that I have no commercial interests. Some applications will handle user files, and I do not intend to provide a tool that compromises their security, revealing the source code. This problem happens, both in Python and in C, even if the final software is freeware, and the function libraries are unmodified. – user17257 Mar 16 at 12:10
  • Security by obscurity works worse than software which can be reviewed and analysed - which offers the chance to offer and implement fixes. I'd argue to only use open source software for dealing with sensitive data than the reverse. But this is off-topic here. – planetmaker Mar 16 at 13:58
  • I did not intend to do any "obscurity work" or whatever it is called. I do not have deep knowledge and I am not a programmer, I am simply a PC-gamer, and I used python to make a game launcher (this is why I talk about the security of managing user files, since I don't understand much). The only thing that I have done is this launcher, during difficult 2 years of work, however as I have no idea of anything, because I simply made this insignificant program and it had occurred to me to share it, I was wondering about the needs to distribute it. Thanks. – user17257 Mar 17 at 0:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy