From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id COVHOSOCzmOOjgAAbAwnHQ (envelope-from ) for ; Mon, 23 Jan 2023 13:48:36 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id WH1kOSOCzmMi5wAA9RJhRA (envelope-from ) for ; Mon, 23 Jan 2023 13:48:35 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 6280DD47E for ; Mon, 23 Jan 2023 13:46:09 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pJwC9-0006dz-PS; Mon, 23 Jan 2023 07:45:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pJwC8-0006dp-0L for emacs-orgmode@gnu.org; Mon, 23 Jan 2023 07:45:04 -0500 Received: from mout02.posteo.de ([185.67.36.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pJwC5-0000iX-QD for emacs-orgmode@gnu.org; Mon, 23 Jan 2023 07:45:03 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id A4ED424043F for ; Mon, 23 Jan 2023 13:44:59 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1674477899; bh=MvdwnzO2cLNJw9qtPMNwKhr9GHBgE27zA9rigk+tbw0=; h=From:To:Cc:Subject:Date:From; b=WINFcwVkJXFSth7fAywmstXIOuoev8H+EkdP0OYngYDTjVmC7WO1umJm7Do6Klz3d 20ty7NXCglRs2lbQR+yj7sQraH4zIYvYzpKK/LvPHRVmbpGVurU+hS7DAiT2wc/QhJ dfyFYYdoBdG4Rxf/PNIcuHkISU7C98AQKGwF7j5s3/tzbyIRmhcb3Oty9y5QT39bj4 etLutLsurxqmqkD2p9m/5Tv03N1K0TBk5mQqHq9oFhftwzNENp8F8No8NMajnp7H42 8GSabLh+JRwuqRWMoPInThkAgyO5WBapHwI9AX3BjgEmAJLHVg9ZfWm3NXkdlFoS5g WC6TLZd0iPQlA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4P0qZ23yNNz6tmH; Mon, 23 Jan 2023 13:44:57 +0100 (CET) From: Ihor Radchenko To: rms@gnu.org Cc: emacs-orgmode@gnu.org Subject: Re: Supporting non-free SQL clients in ob-sql (was: [PATCH] ob-sql: Add support for Athena) In-Reply-To: References: <874jsqbvfq.fsf@kraus.my> <87358an35i.fsf@localhost> <63c5b8db.170a0220.e466f.2573@mx.google.com> <87o7qxmr6y.fsf@kraus.my> <87fsc9iifs.fsf@localhost> Date: Mon, 23 Jan 2023 12:45:30 +0000 Message-ID: <87y1pte7x1.fsf@localhost> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=185.67.36.66; envelope-from=yantar92@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-TUID: SiWuka5Bz8R5 Richard Stallman writes: > > > Because we already support Orcale, SAP Hana, MSSql and Vertico for example. > > Would someone please tell me more concretely what kind of "support" > this is? Which GNU package supports them, and how? [Jean Luis mentioned M-x sql-* commands in another message. They may also be worth discussing, but are not what I meant in the original message] ob-sql is Org mode's feature (part of Emacs) allowing users to execute SQL code inline inside Org files: #+header: :engine sqlite #+header: :database ~/.local/share/qutebrowser/history.sqlite #+begin_src sql SELECT URL FROM History ORDER BY "URL" DESC LIMIT 5 #+end_src #+RESULTS: | qute://help/commands.html | | qute://help/commands.html | | qute://help/ | | qute://help | | qute:// | Note the :engine argument. It determines which CLI backend is being called by Org mode to query the database. ;; Engines supported: ;; - mysql ;; - dbi ;; - mssql ;; - sqsh ;; - postgresql (postgres) ;; - oracle ;; - vertica ;; - saphana Some of these engines are free software and we have no issue supporting them. Some are not. > ... Also, what kind > of things are those? Are they nonfree programs, or are they SaaSS? > Some of them I recognize as nonfree programs, but some names I don't > recognize at all. At least, mssql is non-free with no source code available. Same for oracle, vertica, and saphana. I am not sure about SaaSS - even postgresql (free software) may be used as a service provider by running it on server the user does not control. Probably, I do not fully understand how SaaSS is defined (I did read https://www.gnu.org/philosophy/who-does-that-server-really-serve.html) Earlier in the thread, https://github.com/dbcli/athenacli was proposed as another CLI to support. Athenacli itself is distributed under BSD-3 - free license. However, the CLI is just an interface to Amazon Athena - server-side database service. >From my limited understanding, the main purpose of Amazon Athena is querying "big data" databases for further analysis, which does not constitute SaaSS (AFAIU) - users may not own the "big data" and may not have enough resources on their own computers to run the SQL queries that utilize machine learning models. > There are situations where it is acceptable for a GNU package to > support its use together with certain nonfree programs. Mainly when > the nonfree program so well known that this support mainly encourage > people who already use that nonfree program to start using the GNU > package with it, and is unlikely to do the converse. > > See the GNU Maintainers Guide for more details. It is hard to define "well known". For me, oracle and mssql databases are well-known (just by company name), while saphana and vertica are not. But I do not work with SQL and thus lack expertise about what is being used in reality. How to judge? > However, use with a SaaSS system (service as a software substitute) is > a different issue (though it has much in common). I'd like to think > about it and ask advisors for advice. These details can help me start > to think about it. I feel very confused about possible guidelines for SaaSS. SaaSS does not always require specific CLI tools to be used. Consider common HTTP requests or GraphQL that might be employed to communicate with SaaSS. Should we stop supporting HTTP requests just because they can be used to communicate with SaaSS? Probably no. What about something more specific like the ability to query remote database provided by SaaSS service? One may just need login/password + free sql implementation. What if it is not SELECT query, but INSERT query sharing the data with SaaSS? What about the history of SELECT queries being associated with the user and the sold to third-party? What if external free CLI tool is needed? non-free CLI? There should probably be a boundary somewhere, but it is not clear where it should lie. -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at . Support Org development at , or support my work at