5 ms·
> - Why it involved hiding the server source code. My guess: to reduce the noise and speculation. Much better to deal with it now that there's something to be
by hiq 6y ago
> - Why it involved hiding the server source code.
My guess: to reduce the noise and speculation. Much better to deal with it now that there's something to be gained (feedback from beta testers and actual deployment). There was little to gain before, since the server accepts very few contributions anyway.
I wander enough on GH to see how much time big open-source project maintainers spend addressing toxic comments. Open-source is nice when you get relevant contributions and constructive feedback, but it's really not free, you have to deal with all the rest as well.
- mplewis 6y agoIf you're not willing to be open with your source, don't market your software as open-source.
- rOOb85 6y ago...there code always has and continues to be open source. Is there some law that states a project must publish X code changes in Y timespan?
- fastball 6y agoWell take it further – is is still open-source if you update the public repo once every 10 years? For the vast majority of people, OSS in 2021 means having a public repo hosted somewhere that all commits are pushed to, or PRs are made to. Periodically updating a public repo with changes made to a private repo is not really what people have in mind.
- cptskippy 6y agoWere they updating the Server during the periods where the public repo wasn't receiving updates? That's like requiring a developer to push their local changes hourly/daily for a task that's been committed to but not completed.
- remram 6y agoYes, they were. There has been multiple "releases" too, with version numbers, which I assume went into production. When you're using a product for which you can't get the source code, the product is not open source. Commits: https://github.com/signalapp/Signal-Server/commits/master https://github.com/signalapp/Signal-Server/commits/master No push between: April 20, 2020 and April 6, 2021.
- cptskippy 6y ago> Yes, they were. There has been multiple "releases" too, with version numbers, which I assume went into production. You can't say affirmatively that yes they deployed but then say it's an assumption. Either they did or they didn't. If they didn't deploy the code to production prior to the commit then I see no problem with what they did.
- dogecoinbase 6y agoI noted this in another comment, but if they _did not_ update the code in production, they ran with known vulnerabilities in the server side for many months: https://github.com/signalapp/Signal-Server/commit/3432529f9c018d75774ce89f3207b18051c26fe7#comments https://github.com/signalapp/Signal-Server/commit/3432529f9c... There's no good option here.
- cptskippy 6y agoInterestingly one of the comments in that thread refers to the server code as a reference implementation. This implies that Signal's server code isn't opensource, and that this code is just a reference implementation. The readme.md on the repo doesn't really clarify one way or another on the matter.
- remram 6y agoI am 99% sure they did. I can't say affirmatively that anyone is running anything exactly, but they now claim they did.
- jefftk 6y agoThe biggest example I can think of projects that worked this way was how WebKit and Android would publish code dumps with every release. You can't go longer than that: if you put out releases without updating the source you're not open source.
- qqii 6y agoAnd to take it even further, doesn't this bend the AGPLv3 licence to an extent?
- eitland 6y agoIf the code is entirely theirs they can do whatever they want including going all proprietary for all new releases tomorrow or moving to MIT.
- qqii 6y agoCan they? First they'd have to never have accepted contributions, then if they ran an updated version on their server wouldn't they be in vialation of AGPL (not providing end users, in this case specifically those who use Signal an updated codebase).
- IiydAbITMvJkqKf 6y agoIf they have never accepted contributions, then they are the sole copyright holder, and thus can do whatever they want with the code. Including not providing the source code to users. You can't sue the copyright holder for infringing their own copyright.
- hiq 6y agoThey have a CLA, the legal side of things is clear. They can use their code however they want, the licenses are only relevant for others. When you contribute, you basically license your code under a permissive license to Signal (because of the CLA).
- dogecoinbase 6y agoIn this case, they not only didn't update with changes, but didn't address specific concerns about known vulnerabilities in their outdated repo: https://github.com/signalapp/Signal-Server/commit/3432529f9c018d75774ce89f3207b18051c26fe7#comments https://github.com/signalapp/Signal-Server/commit/3432529f9c...
- SuchAnonMuchWow 6y agoIt is not about how often you update your project. To be open source, you need to publish the source of applications you run. It's as simple as that: "we developed this app, and it's running on our servers, and the source can be found here". They kept updating their server app for a year, without publishing their source. This is not open source. Signal server code was not open source for a year.
- geofft 6y agoIsn't the allegation that they made changes to the deployed version of their production server that were not pushed to the GitHub project? (i.e., that they stopped updating the server repository for around a year, but not just implausible but contradicted by evidence that they never changed the server code for about a year?) If so, then the code quite simply is not open source by any possible definition. I agree with you that a project that is dormant, or even receiving internal development that is still under review, can defensibly be called "open source" even if the development isn't happening in the open. (For instance, your favorite begrudgingly-GPL-compliant hardware vendor who releases .zip files every time they release a new product is releasing "open source" code.) But if the source code to the Signal server isn't even published, it can't be open.
- hiq 6y agoI sympathize with this. On the other hand, you have to consider the big picture: - the open-source argument was mostly meant for everyone to look at the sources and draw their conclusions regarding privacy and security - these guarantees are mostly client-side (and you can't check what's running on the server anyway, even with the code) It's fair to say that the server code was proprietary for one year. Most of their code was still open-source during that time, and most of it (now that they push to the server repo as well) is now. I feel they would have taken less flak over this if their server code had never been open-source to begin with, or if they just released it now.
- alpaca128 6y ago> My guess: to reduce the noise and speculation. Why do you think more transparency would lead to noise and speculation? Exactly the opposite is the case. They could have gone the open route and maybe even gotten help from the community at implementing their payment feature. But the way they did it they left everyone wondering whether their server is now spyware or what other reasons there could be for them to not update the public repo.
- hiq 6y ago> Why do you think more transparency would lead to noise and speculation? Because of the current situation: people argue about whether Moxie lost it, if Signal is still the right solution, etc. If the feature had been implemented in the open, this debate would have taken place since the beginning, again with little benefit. > maybe even gotten help from the community at implementing their payment feature. Signal does not have an open development model. They're a small team, and most things beyond bug fixes are done by them. You can debate whether that's the most efficient approach, I'll just say it's an open question, and that's the model right now. So contributions to this brand new feature by the community would not have been possible. > But the way they did it they left everyone wondering whether their server is now spyware If people misunderstand that most of the security guarantees come from the clients, there's little an up-to-date repository on GitHub can do. I think the noise and complaining that has been happening for one year about the closed-source server is still negligible to what's happening now. I would have preferred if they had kept it open, but I can definitely understand why they thought it was a better course of action.