* [Bitcoin-development] BIP language on normative behavior @ 2011-12-19 22:29 Gregory Maxwell 2011-12-19 22:36 ` [Bitcoin-development] Lying about User Agent (was: BIP language on normative behavior) Luke-Jr 2011-12-21 0:59 ` [Bitcoin-development] BIP language on normative behavior Amir Taaki 0 siblings, 2 replies; 5+ messages in thread From: Gregory Maxwell @ 2011-12-19 22:29 UTC (permalink / raw) To: Bitcoin Development I've been arguing with Luke-JR on IRC about the interpenetration of BIP_0014— Gavin's recent commit uses the same version string for the GUI interface and the daemon mode. Luke believes this is a _violation_ of BIP_0014 and an error in judgement on Gavin's part, and a failure to conform to the community adopted standard. I believe Luke is mistaken: that BIP_0014 actually don't have mandatory requirements for what you put in the version field and even if it did, that they are in fact the same software and should have the same name. I don't think an agreement is likely on the second point, but the first point highlights some ambiguity in the interpretation of BIP language. E.g. What is permitted vs encouraged vs required. There is well established standard language for this purpose: https://www.ietf.org/rfc/rfc2119.txt I strongly recommend that all BIPs be written using the RFC2119 keywords where appropriate. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bitcoin-development] Lying about User Agent (was: BIP language on normative behavior) 2011-12-19 22:29 [Bitcoin-development] BIP language on normative behavior Gregory Maxwell @ 2011-12-19 22:36 ` Luke-Jr 2011-12-21 0:59 ` [Bitcoin-development] BIP language on normative behavior Amir Taaki 1 sibling, 0 replies; 5+ messages in thread From: Luke-Jr @ 2011-12-19 22:36 UTC (permalink / raw) To: bitcoin-development On Monday, December 19, 2011 5:29:34 PM Gregory Maxwell wrote: > I've been arguing with Luke-JR on IRC about the interpenetration of > BIP_0014— Gavin's recent commit uses the same version string for the > GUI interface and the daemon mode. > > Luke believes this is a _violation_ of BIP_0014 and an error in > judgement on Gavin's part, and a failure to conform to the community > adopted standard. To clarify, I believe LYING about the client is a violation. Specifically, Gavin's commit intentionally reports "bitcoin-qt" for bitcoind. A common name for the codebase is compliant, and I don't see anything that says a version *must* be reported at all, let alone for a specific component, so it *could* comply by leaving that part off. But if there is a common part, it certainly isn't Bitcoin-Qt. https://github.com/bitcoin/bitcoin/pull/715 contains a fix that should fulfil everyone's desires (Gavin wants security by obscurity by making bitcoind and Bitcoin-Qt indistinguishable; this is the default with pull #715). ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Bitcoin-development] BIP language on normative behavior 2011-12-19 22:29 [Bitcoin-development] BIP language on normative behavior Gregory Maxwell 2011-12-19 22:36 ` [Bitcoin-development] Lying about User Agent (was: BIP language on normative behavior) Luke-Jr @ 2011-12-21 0:59 ` Amir Taaki [not found] ` <201112202007.49399.luke@dashjr.org> 2011-12-21 9:27 ` Andy Parkins 1 sibling, 2 replies; 5+ messages in thread From: Amir Taaki @ 2011-12-21 0:59 UTC (permalink / raw) To: bitcoin-development [-- Attachment #1: Type: text/plain, Size: 4681 bytes --] A few weeks back I was in discussion with the IANA on getting a bitcoin URI accepted in the standard. As a prerequisite I had to read 5 huge documents. I did not end up writing that RFC. Skilled developers have even less time than I do. While this particular RFC is really nice for keeping ambiguity at bay, it is one of many small rules that bring marginal improvements. "Rule creep" (like feature creep) starts off with good intentions but degenerates into a situation like Wikipedia or any other system with a heavy bureaucracy that can use the rules for lawyering against you. We want to encourage skilled developers to help set the standards and participate in discussions. Beyond using good grammar and using the correct formatting (and I even help with those), I defer on the site of trusting common sense and human judgement :) However this is a good RFC, and I will advise any future BIP contributors to read it. It offers good suggestions. About what Luke says: I kind of agree with him. The intention was to specify software stacks rather than end applications. This allows us to more carefully track software evolution and behaviour throughout the network. bitcoin-qt need not be tied to the Satoshi code-base and may in the future use other core systems through its intermediary layer. BitcoinJava has given rise to a bunch of other application like Android Bitcoin and MultiBit- however they are both BitcoinJava derivatives. However BIPs are a community consensus thing. It depends on the mutual consent of everybody and if there is a commonly agreed sentiment against the wording of an Accepted (or even Active) BIP then it can be amended ad-hoc. The purpose of BIPs is to enhance development by 1. providing a stable system environment for programmers to work towards an accepted standard 2. serve as an equaliser for smaller groups (the third party clients vs the current behemoth client) by giving them a voice or platform. And they can only function by those who want them to function. But personally, I really do think splitting bitcoin-qt into XXX and bitcoin-qt is a smart idea. Starting from lowest to top part of the system is smart: http://www.useragentstring.com/pages/Firefox/ Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0a2) Gecko/20110613 Firefox/6.0a2 Mozilla is the application suite (Mozilla Thunderbird, Mozilla Firefox, ...) Gecko is the rendering engine Firefox is the end application In the original intention for BIP_0014, that would map to: /Gecko:20110613/Firefox:6.0a2/Mozilla:5.0/ With something like WebKit, it becomes easy to see why that would be useful. You can suddenly do a network wide scan of all browsers using WebKit, rather than having to maintain a database of all WebKit enabled browsers. So if this is contentious. Then discuss. I'll update the BIP according to what everyone decides they like. :) ________________________________ From: Gregory Maxwell <gmaxwell@gmail.com> To: Bitcoin Development <bitcoin-development@lists.sourceforge.net> Sent: Monday, December 19, 2011 10:29 PM Subject: [Bitcoin-development] BIP language on normative behavior I've been arguing with Luke-JR on IRC about the interpenetration of BIP_0014— Gavin's recent commit uses the same version string for the GUI interface and the daemon mode. Luke believes this is a _violation_ of BIP_0014 and an error in judgement on Gavin's part, and a failure to conform to the community adopted standard. I believe Luke is mistaken: that BIP_0014 actually don't have mandatory requirements for what you put in the version field and even if it did, that they are in fact the same software and should have the same name. I don't think an agreement is likely on the second point, but the first point highlights some ambiguity in the interpretation of BIP language. E.g. What is permitted vs encouraged vs required. There is well established standard language for this purpose: https://www.ietf.org/rfc/rfc2119.txt I strongly recommend that all BIPs be written using the RFC2119 keywords where appropriate. ------------------------------------------------------------------------------ Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev _______________________________________________ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development [-- Attachment #2: Type: text/html, Size: 6368 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <201112202007.49399.luke@dashjr.org>]
* Re: [Bitcoin-development] BIP language on normative behavior [not found] ` <201112202007.49399.luke@dashjr.org> @ 2011-12-21 1:14 ` Amir Taaki 0 siblings, 0 replies; 5+ messages in thread From: Amir Taaki @ 2011-12-21 1:14 UTC (permalink / raw) To: bitcoin-development [-- Attachment #1: Type: text/plain, Size: 936 bytes --] OK, give me a shout on IRC. It is a lot of work though, so be prepared. Bring bags of patience :) ________________________________ From: Luke-Jr <luke@dashjr.org> To: Amir Taaki <zgenjix@yahoo.com> Sent: Wednesday, December 21, 2011 1:07 AM Subject: Re: [Bitcoin-development] BIP language on normative behavior On Tuesday, December 20, 2011 7:59:00 PM Amir Taaki wrote: > A few weeks back I was in discussion with the IANA on getting a bitcoin URI > accepted in the standard. As a prerequisite I had to read 5 huge > documents. I did not end up writing that RFC. I also contacted the IANA about getting the bitcoin URI spec accepted on their index, however never heard back. If you want, please have whoever you discussed it with get in touch with me. Either way, please be sure whatever they index is compliant with the spec on the wiki as-is (especially not being BTC unit specific, as this is clearly non-scalable). Luke [-- Attachment #2: Type: text/html, Size: 1600 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Bitcoin-development] BIP language on normative behavior 2011-12-21 0:59 ` [Bitcoin-development] BIP language on normative behavior Amir Taaki [not found] ` <201112202007.49399.luke@dashjr.org> @ 2011-12-21 9:27 ` Andy Parkins 1 sibling, 0 replies; 5+ messages in thread From: Andy Parkins @ 2011-12-21 9:27 UTC (permalink / raw) To: bitcoin-development, Amir Taaki [-- Attachment #1: Type: Text/Plain, Size: 927 bytes --] On 2011 December 21 Wednesday, Amir Taaki wrote: > In the original intention for BIP_0014, that would map to: > > /Gecko:20110613/Firefox:6.0a2/Mozilla:5.0/ > > With something like WebKit, it becomes easy to see why that would be > useful. You can suddenly do a network wide scan of all browsers using > WebKit, rather than having to maintain a database of all WebKit enabled > browsers. This seems excellent to me. I think most developers want to do the right thing when it comes to standards, and it is only the inflexibility or ambiguity of a standard that means they don't. This heirarchical method lets every client supply all the information they have -- nobody has to make a decision to leave something out. The internal debate they would have "is my gui version more important than my protocol engine version?" is unnecessary. Andy -- Dr Andy Parkins andyparkins@gmail.com [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-12-21 9:27 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-12-19 22:29 [Bitcoin-development] BIP language on normative behavior Gregory Maxwell 2011-12-19 22:36 ` [Bitcoin-development] Lying about User Agent (was: BIP language on normative behavior) Luke-Jr 2011-12-21 0:59 ` [Bitcoin-development] BIP language on normative behavior Amir Taaki [not found] ` <201112202007.49399.luke@dashjr.org> 2011-12-21 1:14 ` Amir Taaki 2011-12-21 9:27 ` Andy Parkins
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox