68 votes
Accepted

How do we avoid CI-driven development...?

CI-driven development is fine! This is a lot better than not running tests and including broken code! However, there are a couple of things to make this easier on everyone involved: Set expectations: ...
amon's user avatar
  • 133k
36 votes

Where can I find requirements specification for Open Source software?

Requirements don't need to be captured in a formal software requirements specification or any other kind of document. They can be captured in tests (primarily acceptance tests and system tests, but ...
Thomas Owens's user avatar
  • 80.4k
34 votes

How do we avoid CI-driven development...?

Building a sustainable plugin model requires that your core framework expose a stable interface that plugins can rely on. The golden rule is that you can introduce new interfaces over time but you can ...
casablanca's user avatar
  • 4,934
33 votes

What's the best structure for a repository?

Based on my experience with open source, you should consider a few things before setting up a structure: Things to consider Language and Technology: Frameworks and languages dictate a lot of what your ...
EMarshall's user avatar
  • 439
31 votes
Accepted

I accidentally overhauled someone's entire project. Any acceptable way to pull request?

If the project was "5 years untouched" as you wrote, it is likely that pull requests are not going to be accepted, regardless if someone fixed a typo in a comment or did a complete rewrite. The ...
Doc Brown's user avatar
  • 203k
20 votes

Own project: Open source to closed source

In the year 2000, Borland released the code to its InterBase database software as open source. For weird corporate politics reasons, they quickly walked it back and decided that further development ...
Mason Wheeler's user avatar
20 votes
Accepted

Where can I find requirements specification for Open Source software?

Don't let the software prevent you from seeing the projects. I challenge the idea that you need requirements for a software. And suggest that requirements are for software projects. And that there are ...
Theraot's user avatar
  • 9,041
19 votes

Mozilla Public License (MPL 2.0) vs Lesser GNU General Public License (LGPL 3.0)

The answer of DougM and AER makes a fair point. MPLv2 and LGPLv3 with static exception are the same regarding the events that would trigger the copyleft. However, I think we are missing another very ...
N. Gimenez's user avatar
19 votes
Accepted

Own project: Open source to closed source

Is that possible with me as the original copyright holder (with no one having contributed changes except me)? Yes, of course. It's your code, you can do whatever you want with it. Even if I ...
Jörg W Mittag's user avatar
18 votes

Where can I find requirements specification for Open Source software?

Some good answers here already, especially for your question where requirements are found in Open Source projects. Let me say something about the reasons why is it hard to find a formal spec document ...
Doc Brown's user avatar
  • 203k
17 votes

Should I add the license in every header and source file?

This is an old question, but for anyone else looking for the answer, most licenses don't require the license to be included inside each source file, as long as the license is included with the source ...
freginold's user avatar
  • 345
16 votes
Accepted

If I am late to commit a software license to a repo, are all previous commits unbound from the license?

The licence applies when you publish the work. So if you publish after the commit then it covers all of the commits. If you publish before you add the licence, then there is no licence for anyone to ...
Ewan's user avatar
  • 72.4k
15 votes
Accepted

Distributing GPL-ed software with lost source code

No, the GPL only allows to distribute software when the sourcecode is available. When Jerry releases it without source, he is violating Tom's copyright. However, when it is really that important, ...
Philipp's user avatar
  • 23.3k
15 votes
Accepted

Why do we call Java open source, when development or contributions are not decentralized

Why do we call Java open source, when development or contributions are not decentralized? The definition of "Open Source" provided by the Open Source Initiative makes no mention of accepting ...
Stephen C's user avatar
  • 25.2k
15 votes
Accepted

What is the common way to handle visibility in libraries?

The unfortunate truth is that many libraries get written, not designed. This is sad, because a bit of prior thought can prevent a lot of problems down the road. If we set out to design a library, ...
amon's user avatar
  • 133k
14 votes
Accepted

Signification of YOLO LICENSE

The license means nothing at all, and gives you no rights to use the software or copy the code. Given the way copyright law works in most countries (author has copyright by default, and "you can't do ...
Sebastian Redl's user avatar
14 votes

Why so many good open source programs have websites that are very poorly managed?

I was reading about gzip program and I found the official website of the gzip software. No, you didn't. You found the website that used to be the official website back when the original authors were ...
Jörg W Mittag's user avatar
14 votes
Accepted

Can I use some GPL code in LGPL project?

The combination of GPL code and LGPL code must be licensed under the GPL. If you want to use that code, you'll have to change your license, or refrain from using it. If the other project would want ...
amon's user avatar
  • 133k
13 votes
Accepted

If the source code is open behind a paywall, is it still considered open source?

A quick google found this nuget: "NetSuite’s model isn’t the traditional Open Source model, but it fits with the structure of the business world today. As Cloud becomes more meaningful, we move away ...
Ewan's user avatar
  • 72.4k
13 votes

Should I ask to be mentioned in the credits in an open source project?

As you spent a year working on this thing and pioneered this feature for your own project, I do not think it is unreasonable to want to be included in the credits. Simply ask this author politely to ...
Nathanael 's user avatar
13 votes

Why those famous open source tools don't make them also a good-designed library?

There are two levels of answering this: challenging your assumption in general, and addressing each project specifically. I will start with the general part. The Unix Way You are assuming that, ...
Jörg W Mittag's user avatar
11 votes
Accepted

Github - what is the best practice when working on open source project issues

Usually, for github, workflow is to have one fork (I even doubt you can fork the same repo more than once under the same account) but seperate branches per PR. Example: create fork, clone locally ...
stijn's user avatar
  • 4,118
11 votes
Accepted

Should I ask to be mentioned in the credits in an open source project?

This is thinking a bit outside the box: you could write a paper about your algorithm, publish it (maybe in some scientific journal, on arXiv, just on your personal blog, or maybe just inside your ...
Jörg W Mittag's user avatar
10 votes
Accepted

Why does the LGPL require combined works to include a copy of the GPL?

The LGPL is not a license of its own, but an extension of the GPL. It states: This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU ...
amon's user avatar
  • 133k
10 votes

What Does Backwards Compatible Mean If There Are Breaking Changes

There are a couple of things which make backwards compatibility non-trivial. First, one constraint that is often used is that your code will compile without change in a backwards compatible change ...
Derek Elkins left SE's user avatar
10 votes

What is the correct way of adding third-party code into a C or C++ project?

@17of26 gave a lot of good reasons why #2 is dangerous, and why #1 makes more sense. But I think there is one thing missing, for which I recommend the following: download the code of the library you ...
Doc Brown's user avatar
  • 203k
9 votes

Store password in open source project

You can put that sensitive data (emails, API keys) in a separate "env" file which is not added to version control but instead configured during deployment. For ease of use you can include in VCS an "...
Armando Garza's user avatar
9 votes
Accepted

How do open source libraries like Apache Commons fit into the microservices architecture?

It's about libraries created by you to share common functionality when you're trying to avoid rewriting the same code in your multiple microservices. It creates a situation where you have a (loose) ...
Kayaman's user avatar
  • 1,930
9 votes

How to ensure a user isn't using a hacked client

NEVER TRUST THE CLIENT! No seriously NEVER TRUST THE CLIENT! Third time so you remember NEVER TRUST THE CLIENT! Customer service corollary: The customer is lying! You need to do all important ...
esoterik's user avatar
  • 3,899

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