fb856aea95
Public members of package-private classes are in effect still package-private. Leaving the public modifier in place on these members (as opposed to marking all members package-private) is beneficial for two reasons: 1. It leaves these members looking "normal" to the trained Java eye. Readers are not left wondering why constructors and methods are package-private. They can notice, if and when appropriate, that the class itself is package-private, and can understand the transitive visibility of each member on that basis. Otherwise, the class is left looking conventional, unsurprising, and therefore as easy as possible to read and understand. 2. It leaves the visibility of these members controlled by a single modifier at the class level as opposed to N+1 modifiers (one for every member + the class itself). Should the class in question for some reason need to be promoted to public visibility, for example if it were to be moved to a different package, its members would automatically inherit the now-public visibility of the class, which is likely to be the desired state, because if the class needs to be public, at least some of its members will need to be public too. The maintainer making that change can (and should) reduce the visibility of any members that should remain package-private (e.g. those that exist only for for testing purposes), but in doing so, they make an explicit and self-documenting decision that will show up at the level of a Git diff. |
||
---|---|---|
common | ||
consensus | ||
core | ||
doc | ||
gui | ||
monitor | ||
network | ||
package | ||
seednode | ||
statistics | ||
.editorconfig | ||
.gitignore | ||
.travis.yml | ||
CODEOWNERS | ||
CONTRIBUTING.md | ||
LICENSE | ||
pom.xml | ||
README.md |
What is Bisq?
Bisq is a cross-platform desktop application that allows users to trade national currency (dollars, euros, etc) for bitcoin without relying on centralized exchanges such as Coinbase, Bitstamp or (the former) Mt. Gox.
By running Bisq on their local machines, users form a peer-to-peer network. Offers to buy and sell bitcoin are broadcast to that network, and through the process of offering and accepting these trades via the Bisq UI, a market is established.
There are no central points of control or failure in the Bisq network. There are no trusted third parties. When two parties agree to trade national currency for bitcoin, the bitcoin to be bought or sold is held in escrow using multisignature transaction capabilities native to the bitcoin protocol.
Because the national currency portion of any trade must be transferred via traditional means such as a wire transfer, Bisq incorporates first-class support for human arbitration to resolve any errors or disputes.
You can read about all of this and more in the whitepaper and arbitration documents. Several videos are available as well.
Status
Bisq has released the beta version on the 27th of April 2016. It is operational since that time without any major incident. Please follow the current development state at our road map. For the latest version checkout our releases page at Github.
Building from source
See doc/build.md.
Staying in Touch
Contact the team and keep up to date using any of the following:
- The Bisq website
- GitHub Issues
- The Bisq forum
- The #bisq IRC channel on Freenode
- Our contributor mailing list
- @bisq_network on Twitter
- The Bisq newsletter
License
Bisq is free software, licensed under version 3 of the GNU Affero General Public License.
In short, this means you are free to fork this repository and do anything with it that you please. However, if you distribute your changes, i.e. create your own build of the software and make it available for others to use, you must:
- Publish your changes under the same license, so as to ensure the software remains free.
- Use a name and logo substantially different than "Bisq" and the Bisq logo seen here. This allows for competition without confusion.
See LICENSE for complete details.