From owner-freebsd-current@FreeBSD.ORG Sun Mar 1 21:25:34 2015 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0A3E3906 for ; Sun, 1 Mar 2015 21:25:34 +0000 (UTC) Received: from mail-la0-x230.google.com (mail-la0-x230.google.com [IPv6:2a00:1450:4010:c03::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 696FF809 for ; Sun, 1 Mar 2015 21:25:33 +0000 (UTC) Received: by labgf13 with SMTP id gf13so2128493lab.5 for ; Sun, 01 Mar 2015 13:25:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=/SiCg2hjstufv9mQdwXeVyb0PZx33I0k6ZjTPDboir0=; b=vXuMkTsXwnuInTcEAtXKaK+E3kUkYOi9y/TcGSWaJ9AA3ULO36AJ/8b+ostnRDmufh 0yjlbs7xrbJEkIC4amKSWDcL/oUl2x2m13NWmHdWDqjjUY7sPFcc6lVOJgqHnUoLY1xT oUoeS5TE/3dJOTViA6Ib2+NEHD3hO38hSK+AypZskUA148gw53VsWEcHMN7zNWgT7uyv BIb3IvEOcKe8ydTzLDL56FiEKFyy2khOWg9Jqc4roJ/YrktQeM3u1dEN6jPir3mWV3dr iMFLn+2srtLzVd/kf1Gk6b5/WvytMi0cf+oObr+ZJ7n/qtz68Dva39ViXO6NTsEamBD7 VmSA== MIME-Version: 1.0 X-Received: by 10.112.170.132 with SMTP id am4mr21369701lbc.89.1425245131089; Sun, 01 Mar 2015 13:25:31 -0800 (PST) Sender: crodr001@gmail.com Received: by 10.112.82.164 with HTTP; Sun, 1 Mar 2015 13:25:31 -0800 (PST) In-Reply-To: <54F35F29.4000603@astrodoggroup.com> References: <54F31510.7050607@hot.ee> <54F34B6E.2040809@astrodoggroup.com> <54F35F29.4000603@astrodoggroup.com> Date: Sun, 1 Mar 2015 13:25:31 -0800 X-Google-Sender-Auth: QU4t6jI6G4GgT2a7lMUgKqAah20 Message-ID: Subject: Re: Massive libxo-zation that breaks everything From: Craig Rodrigues To: Harrison Grundy Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: freebsd-current Current X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Mar 2015 21:25:34 -0000 On Sun, Mar 1, 2015 at 10:49 AM, Harrison Grundy < harrison.grundy@astrodoggroup.com> wrote: > Thanks! > > That does seem useful, but I'm not sure I see the reasoning behind > putting into base, over a port or package > > , since processing XML in base is a pain, and it can't serve up JSON or > HTML without additional > utilities anyway. > I think if you take another pass at reading the entire thread of responses to see the discussion for the motivation behind libxo, you will get the idea: https://lists.freebsd.org/pipermail/freebsd-arch/2014-July/015633.html There are many people who are building products on top of FreeBSD. For these people, it is super useful for the base utilities in FreeBSD to emit output in properly formatted XML or JSON. That way, they do not need to write scripts to take the output of say, netstat, and use awk/sed/whatever scripts to take the human readable netstat output and convert it to a form which can be used in a script. There are many, many parsers for XML and JSON not in the base system. For people building products on top of FreeBSD, they don't care if these parsers are not in the base, since they can add these parsers on top of base FreeBSD. For example, languages like Python and Ruby have excellent parsers for JSON and XML. Many people build products using these languages. There are JSON and XML parsers in C, C++, and other languages as well. In addition to people building products, the other audience of people who benefit from libxo are devops people. These days, devops folks have no problem using Python, Ruby, Perl, whatever to write scripts to interact with Unix boxes and pull information off of it. Having the base utilities emit info in native JSON or XML greatly facilitates this. I talked to one person who is improving FreeBSD support for Saltstack (a devops framework). He told me that if more base utilities such as sysctl, could use libxo to emit output in JSON, that would greatly facilitate improving FreeBSD support for these devops frameworks. That is because Saltstack would require less FreeBSD-specific parsing code for getting info from base utilities. -- Craig