From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42235) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZtbtC-0002C3-AY for qemu-devel@nongnu.org; Tue, 03 Nov 2015 08:44:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ztbt9-0007dd-2p for qemu-devel@nongnu.org; Tue, 03 Nov 2015 08:44:42 -0500 Received: from mx1.redhat.com ([209.132.183.28]:48825) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ztbt8-0007dZ-Tk for qemu-devel@nongnu.org; Tue, 03 Nov 2015 08:44:39 -0500 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (Postfix) with ESMTPS id 99945C0D61A9 for ; Tue, 3 Nov 2015 13:44:38 +0000 (UTC) Date: Tue, 3 Nov 2015 13:44:34 +0000 From: "Daniel P. Berrange" Message-ID: <20151103134434.GK10551@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=utf-8 Content-Disposition: inline In-Reply-To: <5638B950.5030009@redhat.com> Subject: Re: [Qemu-devel] RFC: libyajl for JSON Reply-To: "Daniel P. Berrange" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake Cc: "qemu-devel@nongnu.org" , Markus Armbruster , "Dr. David Alan Gilbert" , Luiz Capitulino On Tue, Nov 03, 2015 at 06:40:32AM -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'? > 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. 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. FWIW, I think it is not unreasonable to consider dropping support for 'quotes' on the basis that I'd expect the overwhealming majority of apps that talk to QMP are probably using a JSON library rather than home-grown JSON code. As such I'd be surprised if any non-trivial app is actually using 'quotes' instead of "quotes", as JSON libraries will be compliant with the spec rather than using QEMU's extension for this. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|