48

Section 4 of the Apache License 2.0 is quite clear on what you must do when you distribute the changed file: You must not remove the existing copyright claim (the one by 'the Best Company in the World') You must make it clear the the file has been changed. The easiest way is to simply add your copyright after the original ones: Modifications copyright (C) ...


23

You do the simplest thing that works for you. For a one function module, there is absolutely no point in creating a package. Packages are useful for creating an additional namespace and/or for organising your code across multiple modules. The json and unittest modules in the Python standard library are really packages for example, for code organisation ...


21

There are well-established patterns for attributing the libraries you use. In general, you put this attribution in the same place where you'd put your copyright notice. In a desktop application: Often there is a menu item “Help > About”, which displays a small info window with the application name, version number, copyright, and developer contact. This ...


20

If you can prove that you published the code prior to when they did and you had no access to it when it was unreleased then you can counter plea that they took it from you. The result is a open/shut case where they will end up paying all legal fees (plus reimbursement for slander if applicable) and the only cost to you is the time spent defending yourself. ...


12

This very strongly seems to disagree if you are using it on a website, rather than re-distributing an executable. You may copy, distribute and modify the software as long as you track changes/dates of in source files and keep modifications under GPL. You can distribute your application using a GPL library commercially, but you must also provide the source ...


10

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 working. Users will get pretty angry about that. If I were a business and ran into software like this, I'd stop buying from that developer. If I were a home user ...


9

Configuration Management (CM) folks don't think like programmers. They think more like auditors. The reason they want a list of the files is because they want to verify that they got them all. Yes, this seems silly to a programmer, but it seems natural to someone who doesn't trust a single source of information. Ideally, your list of files would not ...


7

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 leaves anyone wanting to alter the set of modules compiled into their binary dependent on you continuing to run a server that can generate a new version. You ...


7

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 are drop-in replacements for it that you can statically link, like MUSL. I've never tried them, so the rest in that regard is left up to the reader. Static ...


5

A license generally affects you when you acquire, use, or distribute a piece of software that comes with the license. If you never acquire, use or distribute Evil Corp's version of your project, then there's simply no way any sane license they apply to it could possibly affect you. Now, if they release a modified version of your project under a proprietary ...


5

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 binary file. The text you're reading right now is stored on your computer as a binary file. You don't think of it as a binary file only because it is also encoded ...


4

The .NET framework is royalty-free, and you can package it with your application. There are free versions of Visual Studio (called Express Editions). What they are typically missing are the ability to create Setup Packages, and an integrated Unit Test suite. Just for the Setup Packages, I suggest getting Visual Studio Professional (probably 2012 at this ...


4

Licences are legal documents and thus you should ask a lawyer if your license covers what you want. In my, non-lawyer, opinion, you try to cover too much in your license text. Most of it applies only to those persons that have gotten explicit permission from you to distribute the software, so you can just handle that in the 'contract' with which you give ...


4

It's on the very first page of the site. I've emphasized the relevant bits. How can I use your free Apple Loops? All of the Apple loops that Macloops offers are free for you to download and use in your music. If you wish to use our apple loops in any type of professional or commercial capacity you must purchase those loops from the original sample source to ...


4

The only way that a copyright can be created is by creating a work. If you create the software, you have the copyright. If you then relinquish the copyright (although I'm not quite sure if that is really possible), then there is no copyright for the work, and there is no possibility of creating one. So nobody can sue you successfully. Of course they can ...


4

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. If you use 2 version 4 UUIDs together (let's call it a super UUID), you have 2^244 possible different values. That means the chance of 2 properly random* 'super ...


3

Git repos are incredibly easy to set up. Move your file into a directory of its own, run git init, and start enjoying version control. There's no downside to doing this, except that you end up with a lot of repos. If you want to share that repo on GitHub or Bitbucket, just do so – after all, public repos are free. The idea to have one big repo that contains ...


3

You're having trouble with this question because you're not thinking about the right things. Source control is a tool, it's not a means to an end. What are your plans down the road? Do you want to have a toolkit of many scripts where people can use any or all of your package for, say, audio processing? Then group them together in the AudioMiscellanea ...


3

Sure you can use such a license. You can use any license terms the other party agrees to (within the limits of your local law). But license agreements are tricky. When they aren't worded by a legal professional, you risk writing one which doesn't actually say what you think it says. Just to give one example. Let's say you write a clause like "[developer] ...


3

Do not include any license at all in the software, but add the following: Copyright 2012 {Your name} All rights reserved. Then create a separate document that says something like this: {Company} has a non-exclusive royalty free license to use {Software} forever. Sign it and give it to the company. As the owner of the Copyright you do not need any ...


3

This brings back memories of an Operations Research class I had in college a very long time ago. You might want to do some googling on the Assignment problem and the Generalized Assignment problem for some background info and more rigorous solutions. Having said that, I'd do the following: Put all the entities that can be processed by the same set of ...


2

Disclaimer: I am not a lawyer and I haven't read either version of the GPL in a while, so this answer might be legally inaccurate. If you release/distribute software containing GPL'd components (such as statically linked libraries), your software must be covered by the GPL. (This is the impression given for version 2; version 3 may be different.) If you ...


2

If I understand your question, it's why don't developers use DSM to build applications, preferring other abstractions? I think it's because of complexity. I really think shared memory, in general, is a deceptively simple abstraction. It seems easy to understand but the particulars make it complex. Other abstractions, like message-passing, are actually ...


2

From A Practical Guide to GPL Compliance (emphasis mine): The most important component to maintaining GPL compliance is inclusion of the complete and corresponding source code in any distributions that you make of GPL’d software. That means you include the source code for any libraries that you use. They go on to say that: Knowing at all times what ...


2

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 installers that have been used to package many games. MojoSetup's page has a list of games packaged with it, for example. The AppImageKit's documentation has ...


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