From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46220) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ztc1a-0000h3-5p for qemu-devel@nongnu.org; Tue, 03 Nov 2015 08:53:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ztc1W-0001ft-5h for qemu-devel@nongnu.org; Tue, 03 Nov 2015 08:53:22 -0500 Received: from mx1.redhat.com ([209.132.183.28]:52207) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ztc1W-0001fo-0M for qemu-devel@nongnu.org; Tue, 03 Nov 2015 08:53:18 -0500 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id A65028F271 for ; Tue, 3 Nov 2015 13:53:17 +0000 (UTC) Date: Tue, 3 Nov 2015 08:53:16 -0500 From: Luiz Capitulino Message-ID: <20151103085316.18582dd1@redhat.com> In-Reply-To: <5638B950.5030009@redhat.com> References: <5633C8EC.8030309@redhat.com> <874mh44wvs.fsf@blackfin.pond.sub.org> <56378572.5020203@redhat.com> <87egg8nro5.fsf@blackfin.pond.sub.org> <5637C2B3.6090609@redhat.com> <87egg7lffd.fsf@blackfin.pond.sub.org> <20151103081917.1d348ad1@redhat.com> <5638B950.5030009@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] RFC: libyajl for JSON List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake Cc: Markus Armbruster , "Dr. David Alan Gilbert" , "qemu-devel@nongnu.org" On Tue, 3 Nov 2015 06:40:32 -0700 Eric Blake wrote: > On 11/03/2015 06:19 AM, Luiz Capitulino wrote: > > On Tue, 03 Nov 2015 08:17:58 +0100 > > Markus Armbruster wrote: > > > >>> So at this point, I want to see if lloyd makes any progress towards an > >>> actual yajl release and/or adding a co-maintainer, before even trying to > >>> get formal upstream support for single quoting. We could always create > >>> a git submodule with our own choice of fork (since there are already > >>> forks that do single-quote parsing) - but the mantra of 'upstream first' > >>> has a lot of merit (I'm reluctant to fork without good reason). > >> > >> The value proposition of replacing our flawed JSON parser isn't in > >> saving big on maintenance, it's in not having to find and fix its flaws. > >> > >> If the replacement needs a lot of work to fit our needs, the value > >> proposition becomes negative. > >> > >> A JSON parser shouldn't require much maintenance, as JSON is simple, > >> doesn't change, and parsing has few system dependencies. > > > > Let me suggest this crazy idea: have you guys considered breaking > > compatibility? > > As in, requiring QMP clients to send "quotes" rather than 'quotes'? Yes. > It's worth considering (we already guarantee that our output is strict > JSON, and that the 'quotes' on input is merely for convenience). If we > want to go that route, than 2.5 should document loudly that we are > deprecating 'quotes' in QMP, so that 2.6 can actually remove it when > switching to yajl. I'd go for more craziness: disable the feature for the next release and watch. If we suddenly found out that there are some big users of the feature, we back off and re-enable it on a -stable release. > And as single quotes appears to be the only JSON > extension we have been relying on, I think that would indeed free us > from having to wait for a yajl release or carry our own yajl fork. > > Interesting idea; I'm still thinking whether it would help us more than > it would hurt lazy clients that were depending on the extension. The point is, apart from libvirt, I've never heard of any serious QMP client that's not a simple automation script. And I'd bet those are sending in "quotes" to talk to QMP.