11 votes
Accepted

Easy Licensing enforcement techniques for C++ Program in Windows

Realistically, there are none. If you make a hash based on the user's hardware, then when they upgrade a hard drive or CPU or network card, or heaven forbid buy a new computer, the software stops ...
user1118321's user avatar
  • 4,993
8 votes
Accepted

Is it good practice to statically link libstdc++ and/or libgcc when creating distributable binaries for Linux?

Static linking glibc is a no-no. My understanding is that is often customized for the distro, so you don't want to be distributing that to machines running different linux distros/releases. There ...
GrandmasterB's user avatar
  • 39.2k
8 votes
Accepted

Different ways to distribute (embedded) C modular library

Generate .a file Build a (web-based) library generator (again one .c and .h file) Neither of these is a good option. The former is, for the reason you covered, platform-specific. The latter ...
Blrfl's user avatar
  • 20.3k
5 votes
Accepted

Why directly edit binary files?

Why directly edit binary files? Same reason climbers climb mountains. Because you can. <Rant about the name "Binary File"> Anytime you edit any kind of computer file you ARE editing a ...
candied_orange's user avatar
4 votes
Accepted

Is using multiple UUIDs decrease chance of collisions exponentially?

With version 4 (variant 1) random UUIDs there are 2^122 possible values. If we assume proper random* number generation that means that the chance of any two ids matching is around 1 in 5.32x10^36. ...
JimmyJames's user avatar
  • 26.7k
3 votes
Accepted

Distributing Web application to multiple customers

The choice that you are making is the choice between a multi-tenant application or supporting multiple dedicated instances of the same application. At such an early stage, I'm not sure if you should ...
Thomas Owens's user avatar
  • 82.3k
3 votes

Are Git repository and software repository same things?

A git repository is usually only the .git/ folder. But git repositories have -- in most cases -- a working directory, too. Only bare git repositories do not have a working directory, and those are ...
Polygnome's user avatar
  • 2,046
3 votes
Accepted

Remote job execution and synchronization

For even your 1 node scenario, if you want the above to work correctly in the face of machine/network failure then what you are asking for is to solve consensus. This is impossible to achieve with ...
Derek Elkins left SE's user avatar
2 votes

Are Git repository and software repository same things?

You are correct about the git repository. I usually hear what you are calling a software repository called a package repository or artifact repository. Those contain compiled binary packages marked ...
Karl Bielefeldt's user avatar
2 votes
Accepted

How do I distribute a C++ compiler with my application?

A C++ compiler isn't different from any other 3rd party software component: it usually comes with certain license terms, and for using, redistributing or reselling the compiler one needs to obey them. ...
Doc Brown's user avatar
  • 206k
2 votes

Strategy for offering a library both a single-header and as a header + compiled implementation

"Generate the combined .h as part of the build process - but, how do I do that effectively?" If you are using classic include guards in your header file ... // foo.h #ifndef FOO_H #...
Doc Brown's user avatar
  • 206k
2 votes
Accepted

When do I have to distribute the source code of GPLv2 licensed software?

You don't have to distribute the source code at all until someone asks for it. But if you choose not to distribute it along with the executable, you do have to provide a "written offer" for the source ...
Ixrec's user avatar
  • 27.7k
2 votes

How to package a SDL2-based Linux app?

You might want to take a look at the following projects: https://icculus.org/mojosetup/ https://github.com/megastep/loki_setup https://github.com/probonopd/AppImageKit The first two projects are ...
Myk's user avatar
  • 171
2 votes
Accepted

Are all code signing certificates cross-platform?

While you may be able to sign the installer with your Thawte certificate, it is sort of pointless to do so. The whole point of signing your .pkg is so that it will be accepted by GateKeeper. ...
B.J.'s user avatar
  • 644
2 votes

Can I distribute binaries of my GPLv3 software?

If you are the sole copyright holder, then you can do whatever you like. You might commit a GPL violation, but only the copyright holder can hold you responsible for this. If you are the sole ...
gnasher729's user avatar
  • 44.7k
2 votes
Accepted

Can I distribute binaries of my GPLv3 software?

In practice, if you distribute (e.g. by providing it on some web site) a binary of your code, you'll better also provide (e.g. on the same web page) a source tarball of it (exactly the one you used ...
Basile Starynkevitch's user avatar
2 votes

Easy Licensing enforcement techniques for C++ Program in Windows

For cloud-based licensing (e.g. online license activation), I built Keygen, a software licensing and distribution API, exactly for this purpose. You can set up a license policy which allows a single ...
ezekg's user avatar
  • 161
1 vote

Are Git repository and software repository same things?

I've seen this slight confusion before. By definition Software Repository - A software repository, or “repo” for short, is a storage location for software packages. Yes, they can be different things ...
CalebKing3's user avatar
1 vote

Is it good practice to statically link libstdc++ and/or libgcc when creating distributable binaries for Linux?

In general, to be a good system citizen, you'll want to depend as much as possible on system libraries, and avoid static linking any libraries. Your code should only have source level dependency, ...
Lie Ryan's user avatar
  • 12.4k
1 vote

Easy Licensing enforcement techniques for C++ Program in Windows

Like user1118321 mentioned, it's difficult to uniquely identify a device, since not all operating systems give access to the same hardware variables. As this user mentioned, there is also a challenge ...
Edmon Moren's user avatar
1 vote
Accepted

Another Apache 2.0 license question, regarding modifying files

If you are not including the source and you aren't releasing the source files (since you aren't required to release the original or modified source files for Apache License 2.0 projects), then I don't ...
Thomas Owens's user avatar
  • 82.3k
1 vote

Why directly edit binary files?

To answer the question as to why someone might want to do such a thing... I'm working on an embedded controller that will receive a binary configuration file via its UART. Another developer is ...
DiffAmp's user avatar
  • 11
1 vote

How to distribute a project with all its dependencies?

There are two chief approaches to application distribution: Isolating from the system/Sandboxing As much as possible is bundled, system APIs are possibly hooked and redirected into the sandbox. The ...
ivan_pozdeev's user avatar
1 vote
Accepted

Uploading Processing Sketch with library to github

LGPL says you don't have to put this library with your code and make your code on LGPL. That's the main difference between LGPL and GPL. You just have to make a way for user to be able to use his own ...
Marqin's user avatar
  • 385

Only top scored, non community-wiki answers of a minimum length are eligible