Seriously... how much harder would it have been for them to have a red button with a molly-guard on it beside the ignition button for "kill engine NOW" ?
Well, with the amount of force applied by the engine revving that much, it may be almost impossible to switch to neutral.
You ever try to switch any of these automatic transmission vehicle from Drive to Neutral when travelling at 100mph with a full open throttle?
It's not like they have a clutch pedal designed to assist them effortlessly switch gears.
The accident may occur before they have time to even touch the gear shift lever.
And in the cases, where the shift controller is an electronic command to the computer, it may not work at all.
I think there's an elegant, simple solution to this.
Microsoft should incorporate NewSID into the DCPROMO utility, and force generation of a new SID as part of the process of initializing a new domain (even if it means that another reboot will be required).
Since it's the only case where a DC needs to have a unique SID.
And domain creation is certainly an extra special case. Most potential DCs won't ever be used to perform the initial creation of a windows domain: in general, only 1 DC per domain is supposed to ever have that privilege over the entire lifetime of the Windows-based LAN, which usually means only 1 server per organization will actually ever need to have had a unique SID.
It's not for domain controllers in general it's for the very first domain controller used to initialize a brand new domain. You want to never create a new server with that same SID again. The first domain controller's SID is special, it will be used to generate the domain SID. From then on, all subsequent domain controllers promoted in the domain will have the same machine SID.
So you're good if you create the very first DC with a unique install, and clone all your other servers from an image.
As I said earlier, there’s one exception to rule, and that’s DCs themselves. Every Domain has a unique Domain SID that’s randomly generated by Domain setup, and all machine SIDs for the Domain’s DCs match the Domain SID. So in some sense, that’s a case where machine SIDs do get referenced by other computers. That means that Domain member computers cannot have the same machine SID as that of the DCs and therefore Domain. However, like member computers, each DC also has a computer account in the Domain, and that’s the identity they have when they authenticate to remote systems. All accounts in a Domain, including computers, users and security groups, have SIDs that are based on the Domain SID in the same way local account SIDs are based on the machine SID, but the two are unrelated.
...
issue is if a distributed application used machine SIDs to uniquely identify computers. No Microsoft software does so and using the machine SID in that way doesn’t work just for the fact that all DC’s have the same machine SID.
This is what isn't true. Programmer B can close other people's code that is contained in what Programmer B is distributing.
Closing the code means that people will not be able to get the files from Programmer B and use them without the proprietary restrictions that Programmer B has added.
What Programmer A and C are doing is all well and good, but it's not the package distributed by Programmer B.
Moreover, people who are not made aware of Programmer A or C's existence will not be able to get the code.
There are many ways it will be possible that someone could obtain the code from Programmer B, but will be unable to obtain it from Programmer A.
Moreover, if Programmer B distributes in binary form, it is impossible for the recipient to reconstruct any patches or minor insubstantial changes Programmer B has made.
In any case, Programmer B's distribution of the code ceases to be open source, which is the whole point of the matter.
Open Source does not mean "If you look out there hard enough, you may be able to find the code this was based on"
Open Source means, the exact source code used to produce all the binaries is freely available, and you can distribute, modify, and make derivative works, and you can use without restriction.
Like the BSD license the GPL only allows you close your own code. You admit it when you say if you contribute code to MySQL you have to sign your rights to MySQL AB, now Oracle.
I think you don't understand how software licenses work.
They apply to the distribution of code.
Redistribution licenses apply to acts of further redistribution, after receiving an item from the person redistributing it.
If you get code from person B, different license terms may apply to the code you receive from person B than the code you receive from person A.
Under the BSD license, person B can close the code, e.g.. They can restrict you from further distributing the copy of the code you got from person B, even if it is essentially identical to something you could have gotten from person A under better terms.
If person B adds a restriction "you may not redistribute this", which the BSD license allows, then you cannot take the code from person B and redistribute that copy, without violating your contract/license with person B.
It's legal to get the package from person A instead, and redistribute that, with or without modifications, provided person A was the author, or received a license allowing person A to redistribute under those terms.
However, it's not legal to get the package from person B, remove restrictions, or change the license to match the one from person A, and redistribute it, even if you think the code is the same.
If you got the same code from multiple sources, you best carefully document things, to ensure you can prove that added restrictions don't apply to what you re-distribute.
If you only ever downloaded the code from Person A, then, of course, that would not be an issue.
Assuming you can find a collision of an arbitrary hash you are given without knowing anything about what other data hashes to the same value.
This is fairly unlikely, and can't even be done for most weak message digests (such as MD5) that have already been broken..
If you can break strong hashes such as sha256 in this manner, there are a lot of much more interesting things you can do, for example, produce fake certificates, take digitally signed file packages (such as OS updates) and plant trojanned code on the FTP servers that still has the same SHA256 hash, and still validates signature checking....
Or are you arguing I no longer own the copyright? Because that's the only way someone else can close my code.
They can close the copy they distribute
So that anyone who gets the code from them instead of getting the code from you has to follow the added restrictions. Or they can withold source when they further redistribute.
By using the BSD license you gave them the right to do so.
Of course you as copyright owner can still continue distribute the code (at the same time) under the BSD license or whatever terms you want on the day you distribute.
And anyone else who got the code under BSD license terms can continue to distribute it. But they might not do so
Other people who got the code directly from you won't have to obey the additional restrictions, since you didn't impose them.
The restrictions only apply to the copy of the software package that was distributed by the downstream person with the restrictions added.
If 20 years from now, you (the original author) are no longer distributing the code, and the only copies that can be found in public places came from the person who added the restrictions, then the code has in fact been closed (because 'open' versions of it can no longer be found).
I was about to retort saying it's like arresting marijuana dealers.
But then after a bit of thinking.. I realized... they too have powerful lobbyists on their payroll guaranteeing the government will not interfere with their profits.
In this case, lobbying to keep it illegal.
(Making it legal interferes with their profits, since it reduces the price, and makes it easier for new competitors to emerge)
So failing to "properly moderate" your forums is a criminal offense now?
Even slashdot has anonymous cowards, and I doubt they'd delete posts discussing such matters, unless ordered to (by DMCA letter or similar), even if the score was -1, same difference....
An attacker that can store a file on your filesystem can then replace your precious data with crafted data with the same hash.
Unless the dedup is synchronous, and earliest block always wins... then your hacker's "precious data" gets replaced with the data they were trying to replace.
Default behavior used by dedup implementations is not to do a full block comparison, unless the hash being used is a a non-crypto one. Of course you can force it (for a performance penalty)
That's why you use a 2-way mirror, RaidZ, or RaidZ2, depending on your performance/space/MTTL tradeoffs.
Or set copies=2
It's also worth noting, that the dedup allows setting a threshold, such that additional copies of the block are kept each time the threshold number of duplicates has been exceeded.
Human brains tend to use a variety of techniques, including using frequency of associations. For example, when I type "serve", I almost always accidentally type "server" instead because I use that word often in my work. Thus, something in my head is seeing the first few letters and grabbing the most likely match from the hand-movement bins. Unfortunately, "most likely" is not a 100% fit.
What makes you think 'frequency associations' are anything other than an emergency property of a system that utilizes only neural networks and brute force?
Something that is fundamentally brute force can easily give rise to other appearances.
No, the BSD allows me to open or close my source code, that is control.
No, the BSD allows the licensee to open or close your source code at will, and to add arbitrary restrictions.
You the original author can place your code under the GPL and withdraw source or change the license for future distributions any time you want.
The GPL does not prevent you from closing the code at a later date, as long as you don't accept contributions licensed under the GPL.
A good example of this would be MySQL. The code is GPL, but they also sell commercial licenses.
If you receive MySQL under a commercial license, you get special rights that are not included in the GPL (but are also restricted in other ways).
MySQL AB can change the license of code they distribute at any time, because they own copyright, and in order to contribute code to MySQL, you have to sign over your rights to MySQL AB.
Yes it is, If I write and release software with a BSD license you can not take my code and close it or restrict it, only I can.
In fact, the BSD license allows me to do just that; the BSD license allows sublicensing just like the MIT license does.
None of the conditions of the BSD license prevent me from sublicensing or adding restrictions to your code. It doesn't matter whether I change the code or not.
The BSD grants me all possible redistribution and modification rights that the author can grant, subject to only the 3 listed conditions.
None of those conditions require that I pass along the author's license directly. They only require that I pass along the 3 restrictions and a disclaimer. I can add as many additional restrictions as I like.
In fact, the BSD license allwos me to compile your source code to a binary, and re-distribute it back to you as author with a complete prohibition against further redistribution by you of the binary.
Then if you violate my added conditions, I may have cause of action to sue for breach of contract, based on infringement of modified BSD license terms.
And offer $3500 to the first person to submit each unique balloon's coordinates and a photograph of the location to a team organizer, provided the team wins.
8% to the team organizer for handling all the work involved in coordinating the team.
And $150 to the person who agrees to go confirm the location of balloon submitted by someone else, by getting a report of its general location, going there, and reporting its coordinates for confirmation.
Noone can cheat, provided everyone has an ironclad contract, if only the team organizer receives the actual coordinates reported, and processes them in order received.
Sending all reported ballons to be confirmed by someone else.
Requiring a deposit from everyone reporting a balloon in the amt of $100, forfeit only if it turns out there was no balloon there.
The original BSD licensed code is open source, but the derivative work you created when you sublicensed with additional restrictions is not open source. Not all open source licenses require that derivative works will be distributed under an open source license.
Not all modifications to an open source license result in an open source license.
And you can only restrict the use of your code, you make close it but you can not close the source you took from someone else.
This is not true. The BSD license allows you the right to redistribute the work as a whole or any part under more restrictive terms, by sublicensing.
You can add additional restrictions to the list of terms, and the person who gets the code from you basically has to follow them, or find another place to get the code.
If the original author no longer distributes the original code or distributed it only to you, then the person who receives code from you will not be able to find the code under amenable terms.
There may be parts of the code that you did not write, but the BSD license doesn't require you to document what those parts may be.
Also, Copyright infringement isn't the only type of enforcement action you might pursue against a violator of your license that has additional restrictions.
If your additional restrictions were under the form of a proper EULA, and you required agreement to obtain the code, then disregarding your added restrictions would be a matter of breach of contract as well.
Yes it can be. BSD licenses allow software to be restricted in it's use but the BSD is still open source, notice I did not capitalize "open" or "source".
You're using a strawman argument, and you're completely wrong. The BSD license allows me to take the source, modify it, and give you source code with a restriction that you may not use it in a certain way, for example, I may include a restriction that you may not modify the code or re-publish parts of it.
In that case, the code I received under BSD license is open source, the code I gave you is not open source, because of the additional restrictions I have imposed.
If I take BSD licensed code and give you only binaries (but no source) or add restrictions to the license, such as "You may not use this for commercial purposes", or "You are only allowed to run this program on fridays", or "You may not create derivative works, or republish this code",
Then the code I gave you is not open source software.
If your copy of the software is not authorized in the first place, than the additional copy in RAM is also unauthorized.
If the EULA says you may run a copy of the software on a computer, then they have implicitly authorized you to make the copy into RAM, because that's how computers work (to 'run' a program means to map and copy parts of it into ram and then execute on a CPU).
The CAN-SPAM act ruined it by superceding prior federal law that made sending junk faxes/e-mail subject to a per-message penalty to be paid to the recipient, prior to the act.
Before then.. individuals did sometimes did sue spammers, I believe it was ~$500/message..
Seriously... how much harder would it have been for them to have a red button with a molly-guard on it beside the ignition button for "kill engine NOW" ?
Well, with the amount of force applied by the engine revving that much, it may be almost impossible to switch to neutral. You ever try to switch any of these automatic transmission vehicle from Drive to Neutral when travelling at 100mph with a full open throttle?
It's not like they have a clutch pedal designed to assist them effortlessly switch gears.
The accident may occur before they have time to even touch the gear shift lever.
And in the cases, where the shift controller is an electronic command to the computer, it may not work at all.
I think there's an elegant, simple solution to this.
Microsoft should incorporate NewSID into the DCPROMO utility, and force generation of a new SID as part of the process of initializing a new domain (even if it means that another reboot will be required).
Since it's the only case where a DC needs to have a unique SID.
And domain creation is certainly an extra special case. Most potential DCs won't ever be used to perform the initial creation of a windows domain: in general, only 1 DC per domain is supposed to ever have that privilege over the entire lifetime of the Windows-based LAN, which usually means only 1 server per organization will actually ever need to have had a unique SID.
It's not for domain controllers in general it's for the very first domain controller used to initialize a brand new domain. You want to never create a new server with that same SID again. The first domain controller's SID is special, it will be used to generate the domain SID. From then on, all subsequent domain controllers promoted in the domain will have the same machine SID.
So you're good if you create the very first DC with a unique install, and clone all your other servers from an image.
As I said earlier, there’s one exception to rule, and that’s DCs themselves. Every Domain has a unique Domain SID that’s randomly generated by Domain setup, and all machine SIDs for the Domain’s DCs match the Domain SID. So in some sense, that’s a case where machine SIDs do get referenced by other computers. That means that Domain member computers cannot have the same machine SID as that of the DCs and therefore Domain. However, like member computers, each DC also has a computer account in the Domain, and that’s the identity they have when they authenticate to remote systems. All accounts in a Domain, including computers, users and security groups, have SIDs that are based on the Domain SID in the same way local account SIDs are based on the machine SID, but the two are unrelated.
issue is if a distributed application used machine SIDs to uniquely identify computers. No Microsoft software does so and using the machine SID in that way doesn’t work just for the fact that all DC’s have the same machine SID.
Programmer B can only close their own code.
This is what isn't true. Programmer B can close other people's code that is contained in what Programmer B is distributing.
Closing the code means that people will not be able to get the files from Programmer B and use them without the proprietary restrictions that Programmer B has added.
What Programmer A and C are doing is all well and good, but it's not the package distributed by Programmer B.
Moreover, people who are not made aware of Programmer A or C's existence will not be able to get the code.
There are many ways it will be possible that someone could obtain the code from Programmer B, but will be unable to obtain it from Programmer A.
Moreover, if Programmer B distributes in binary form, it is impossible for the recipient to reconstruct any patches or minor insubstantial changes Programmer B has made.
In any case, Programmer B's distribution of the code ceases to be open source, which is the whole point of the matter.
Open Source does not mean "If you look out there hard enough, you may be able to find the code this was based on"
Open Source means, the exact source code used to produce all the binaries is freely available, and you can distribute, modify, and make derivative works, and you can use without restriction.
Like the BSD license the GPL only allows you close your own code. You admit it when you say if you contribute code to MySQL you have to sign your rights to MySQL AB, now Oracle.
I think you don't understand how software licenses work.
They apply to the distribution of code. Redistribution licenses apply to acts of further redistribution, after receiving an item from the person redistributing it.
If you get code from person B, different license terms may apply to the code you receive from person B than the code you receive from person A.
Under the BSD license, person B can close the code, e.g.. They can restrict you from further distributing the copy of the code you got from person B, even if it is essentially identical to something you could have gotten from person A under better terms.
If person B adds a restriction "you may not redistribute this", which the BSD license allows, then you cannot take the code from person B and redistribute that copy, without violating your contract/license with person B.
It's legal to get the package from person A instead, and redistribute that, with or without modifications, provided person A was the author, or received a license allowing person A to redistribute under those terms.
However, it's not legal to get the package from person B, remove restrictions, or change the license to match the one from person A, and redistribute it, even if you think the code is the same.
If you got the same code from multiple sources, you best carefully document things, to ensure you can prove that added restrictions don't apply to what you re-distribute.
If you only ever downloaded the code from Person A, then, of course, that would not be an issue.
Assuming you can find a collision of an arbitrary hash you are given without knowing anything about what other data hashes to the same value.
This is fairly unlikely, and can't even be done for most weak message digests (such as MD5) that have already been broken..
If you can break strong hashes such as sha256 in this manner, there are a lot of much more interesting things you can do, for example, produce fake certificates, take digitally signed file packages (such as OS updates) and plant trojanned code on the FTP servers that still has the same SHA256 hash, and still validates signature checking....
Or are you arguing I no longer own the copyright? Because that's the only way someone else can close my code.
They can close the copy they distribute
So that anyone who gets the code from them instead of getting the code from you has to follow the added restrictions. Or they can withold source when they further redistribute.
By using the BSD license you gave them the right to do so.
Of course you as copyright owner can still continue distribute the code (at the same time) under the BSD license or whatever terms you want on the day you distribute. And anyone else who got the code under BSD license terms can continue to distribute it. But they might not do so
Other people who got the code directly from you won't have to obey the additional restrictions, since you didn't impose them.
The restrictions only apply to the copy of the software package that was distributed by the downstream person with the restrictions added.
If 20 years from now, you (the original author) are no longer distributing the code, and the only copies that can be found in public places came from the person who added the restrictions, then the code has in fact been closed (because 'open' versions of it can no longer be found).
I was about to retort saying it's like arresting marijuana dealers.
But then after a bit of thinking.. I realized... they too have powerful lobbyists on their payroll guaranteeing the government will not interfere with their profits.
In this case, lobbying to keep it illegal. (Making it legal interferes with their profits, since it reduces the price, and makes it easier for new competitors to emerge)
So failing to "properly moderate" your forums is a criminal offense now?
Even slashdot has anonymous cowards, and I doubt they'd delete posts discussing such matters, unless ordered to (by DMCA letter or similar), even if the score was -1, same difference....
The BSD license allows the recipient to take whatever they get, close it, or restrict it, and further redistribute it.
The truth is, if you want to do that, you shouldn't use either the stock GPL or the stock BSD license.
You should use a custom license, preferably one taylored by your lawyers for your intended use.
Modifying the BSD license can achieve that, but it won't be the BSD license anymore, it'll be your modified version of the BSD license.
An attacker that can store a file on your filesystem can then replace your precious data with crafted data with the same hash.
Unless the dedup is synchronous, and earliest block always wins... then your hacker's "precious data" gets replaced with the data they were trying to replace.
Default behavior used by dedup implementations is not to do a full block comparison, unless the hash being used is a a non-crypto one. Of course you can force it (for a performance penalty)
That's why you use a 2-way mirror, RaidZ, or RaidZ2, depending on your performance/space/MTTL tradeoffs.
Or set copies=2
It's also worth noting, that the dedup allows setting a threshold, such that additional copies of the block are kept each time the threshold number of duplicates has been exceeded.
Oops... I meant to say emergent property, not emergency property
Human brains tend to use a variety of techniques, including using frequency of associations. For example, when I type "serve", I almost always accidentally type "server" instead because I use that word often in my work. Thus, something in my head is seeing the first few letters and grabbing the most likely match from the hand-movement bins. Unfortunately, "most likely" is not a 100% fit.
What makes you think 'frequency associations' are anything other than an emergency property of a system that utilizes only neural networks and brute force?
Something that is fundamentally brute force can easily give rise to other appearances.
No, the BSD allows me to open or close my source code, that is control.
No, the BSD allows the licensee to open or close your source code at will, and to add arbitrary restrictions.
You the original author can place your code under the GPL and withdraw source or change the license for future distributions any time you want.
The GPL does not prevent you from closing the code at a later date, as long as you don't accept contributions licensed under the GPL.
A good example of this would be MySQL. The code is GPL, but they also sell commercial licenses. If you receive MySQL under a commercial license, you get special rights that are not included in the GPL (but are also restricted in other ways).
MySQL AB can change the license of code they distribute at any time, because they own copyright, and in order to contribute code to MySQL, you have to sign over your rights to MySQL AB.
Are you really going to tell me I can not control my source code? How then do you get to control yours?
You can keep full control of your source code by not signing away the right to sublicense with additional restrictions.
For example license under a weak copyleft, such as: The Mozilla Public License, The LGPL.
Or a strong copyleft such as the GPLv3, AGPLv3, OSL,
Yes it is, If I write and release software with a BSD license you can not take my code and close it or restrict it, only I can.
In fact, the BSD license allows me to do just that; the BSD license allows sublicensing just like the MIT license does. None of the conditions of the BSD license prevent me from sublicensing or adding restrictions to your code. It doesn't matter whether I change the code or not.
The BSD grants me all possible redistribution and modification rights that the author can grant, subject to only the 3 listed conditions.
None of those conditions require that I pass along the author's license directly. They only require that I pass along the 3 restrictions and a disclaimer. I can add as many additional restrictions as I like.
In fact, the BSD license allwos me to compile your source code to a binary, and re-distribute it back to you as author with a complete prohibition against further redistribution by you of the binary.
Then if you violate my added conditions, I may have cause of action to sue for breach of contract, based on infringement of modified BSD license terms.
And offer $3500 to the first person to submit each unique balloon's coordinates and a photograph of the location to a team organizer, provided the team wins.
8% to the team organizer for handling all the work involved in coordinating the team.
And $150 to the person who agrees to go confirm the location of balloon submitted by someone else, by getting a report of its general location, going there, and reporting its coordinates for confirmation.
Noone can cheat, provided everyone has an ironclad contract, if only the team organizer receives the actual coordinates reported, and processes them in order received.
Sending all reported ballons to be confirmed by someone else. Requiring a deposit from everyone reporting a balloon in the amt of $100, forfeit only if it turns out there was no balloon there.
The original BSD licensed code is open source, but the derivative work you created when you sublicensed with additional restrictions is not open source. Not all open source licenses require that derivative works will be distributed under an open source license. Not all modifications to an open source license result in an open source license.
And you can only restrict the use of your code, you make close it but you can not close the source you took from someone else.
This is not true. The BSD license allows you the right to redistribute the work as a whole or any part under more restrictive terms, by sublicensing.
You can add additional restrictions to the list of terms, and the person who gets the code from you basically has to follow them, or find another place to get the code.
If the original author no longer distributes the original code or distributed it only to you, then the person who receives code from you will not be able to find the code under amenable terms.
There may be parts of the code that you did not write, but the BSD license doesn't require you to document what those parts may be.
Also, Copyright infringement isn't the only type of enforcement action you might pursue against a violator of your license that has additional restrictions.
If your additional restrictions were under the form of a proper EULA, and you required agreement to obtain the code, then disregarding your added restrictions would be a matter of breach of contract as well.
Capitalizing it or not has no significance.
Yes it can be. BSD licenses allow software to be restricted in it's use but the BSD is still open source, notice I did not capitalize "open" or "source".
You're using a strawman argument, and you're completely wrong. The BSD license allows me to take the source, modify it, and give you source code with a restriction that you may not use it in a certain way, for example, I may include a restriction that you may not modify the code or re-publish parts of it.
In that case, the code I received under BSD license is open source, the code I gave you is not open source, because of the additional restrictions I have imposed.
If I take BSD licensed code and give you only binaries (but no source) or add restrictions to the license, such as "You may not use this for commercial purposes", or "You are only allowed to run this program on fridays", or "You may not create derivative works, or republish this code",
Then the code I gave you is not open source software.
FakeSMC is not Open Source Software, for reasons similar to the ones that Microsoft Shared Source is not open source.
One of the fundamental requirements requirements for software to be open source is No Discrimination Against Fields of Endeavor.
That is, if the license of the software says you can't use the software freely, then it's not open source at all.
It's called "freely available, but restricted", i.e. not open.
If your copy of the software is not authorized in the first place, than the additional copy in RAM is also unauthorized.
If the EULA says you may run a copy of the software on a computer, then they have implicitly authorized you to make the copy into RAM, because that's how computers work (to 'run' a program means to map and copy parts of it into ram and then execute on a CPU).
The CAN-SPAM act ruined it by superceding prior federal law that made sending junk faxes/e-mail subject to a per-message penalty to be paid to the recipient, prior to the act.
Before then.. individuals did sometimes did sue spammers, I believe it was ~$500/message..