On Friday, October 28, 2016 at 3:03:26 PM UTC, William wrote:
>
> Hi, 
>
> Regarding the openssl dependency issue, the standard way people 
> justify getting around it is the "system library exemption", which 
> allows for GPL'd programs to link in system libraries that are not 
> GPL'd (otherwise, things like GPL software on MS Windows would be 
> impossible!).   Some links here: 
>
>      
> http://opensource.stackexchange.com/questions/2233/gpl-v3-with-openssl-exception
>  
>
> As the person who chose to add R to Sage in the first place, my 
> instinct on this is that we should **completely and totally remove R 
> from Sage**.  Why? 
>
>   - Our pexpect based interface to R sucks.  It was mostly written by 
> Mike Hansen and me, so I take the blame.  In SageMathCloud Sage 
> worksheets 
> we just switched to making the %r mode be implemented using Jupyter's 
> R kernel, which is way more robust. 
>
>   - It's easy enough to install R in other ways outside of Sage. 
> I've heard of a lot of people installing Sage in order to install X 
> (where X is say Pari or Singular or even Cython at one point); I've 
> *never* heard of anybody installing Sage in order to get R. 
>
>   - The main technical reason for installing R into Sage, as opposed 
> to just finding a system-wide R install, is to ensure that rpy2 -- the 
> C-level bindings to R -- actually work. 


What would prevent it from working if R is not included in Sage?
rpy2 is pip-installable.

Doing "pip install rpy2" on my system python (3.5) gave me a running 
version of
rpy2 (talking to system-wide R 3.3.1).
I didn't try with python2, but they say it's supported this way too.

Just make rpy2 an optional Sage package...

Dima


 

>   However, in retrospect, I 
> don't think rpy2 is really that great. 
>
>    - Python stats have come a *LONG* way in the last 10 years, with 
> libraries like Pandas.   Why use rpy2 when you can much more 
> effectively use pandas and statsmodels and so on. 
>
> In my opinion, it would be way, way better to completely remove R from 
> Sage and instead do the following: 
>
>    1. Include the R jupyter kernel config files. 
>
>    2. Includes the modern Python stats libraries pandas and 
> statsmodels in Sage. 
>
> Our time would be much better spent supporting 2 than 1.   It's 
> ridiculous that we spend no effort on pandas/statsmodels, and all this 
> effort on R.  That was a strategy that made sense 10 years ago, but 
> not today. 
>
> For example, I recall that there are some issues involving pandas + 
> statsmodels + the sage preparser.   We could put effort into 
> addressing those, like Robert Bradshaw did with numpy (which used to 
> be very unhappy with Sage integers, reals, etc.).  Fixing this stuff 
> probably wouldn't be hard, and would make Sage a better environment 
> for stats.   There may be similar remarks around machine learning, 
> where Python has really come into its own recently (e.g., see 
> tensorflow). 
>
> Anyway, just my two cents.  But if anybody was out there wanting to 
> propose something similar, but worried that the person who included R 
> in Sage in the first place would be really annoyed -- fear not. 
>
>  -- William 
>
> On Fri, Oct 28, 2016 at 6:39 AM, Emmanuel Charpentier 
> <emanuel.c...@gmail.com <javascript:>> wrote: 
> > My thoughts so far : 
> > 
> > I : Is there really a problem ? 
> > ===================== 
> > 
> > What all the brouhaha around libcurl boils down to is that there *might* 
> be 
> > a (pseudo)-legal difficulty in shipping a libcurl liibrary requiring 
> OpenSSL 
> > and a GPL-licensed piece of software *in the same package*. This might 
> be a 
> > part of the reasons for the R core team to have thrown the towel on this 
> > (but probably only patr of the reason : they alo threw the towel on xz 
> an 
> > pcre, which do not give the same headache). 
> > 
> > However, this does not seem to be a problem per se : Debian (one of the 
> most 
> > nitpicking distros in terms of licensing)   happily ships libraries and 
> > utilities (such as cups, for starter) linked with openssl-linked 
> libcurl. I 
> > think that it would be interesting to ask them how they reconcile the 
> > (inconsistent) wordings of the licenses involved. 
> > 
> > According to their answer, we might have an easy way out : hide behind 
> the 
> > same legal curtain as Debian (it remains to see what it is...), package 
> > libcurl (essentially done) and silently ship it with Sage (it remains to 
> > check if other libraries are not more or less silently involved in the 
> > support of https: in libcurl, in which case we might have to use them 
> also). 
> > This is option : 
> > 
> > a) Do nothing : 
> > -------------------- 
> > 
> > II ? If there is really a problem, what can we do ? 
> > =================================== 
> > 
> > We might also bite the bullet, modify our licensing terms to add the 
> > advertising clause required by openssl's license and ship openly 
> libcurl. 
> > Tha requires, it seems, explicit permission of all the people havng 
> > contributed to Sage, which might prove a difficult (impossble ?) task. 
> That 
> > gives us option : 
> > 
> > b) Acknowledge libcurl 
> > --------------------------------- 
> > 
> > We can also emulate the R core team, throw the towel and simply add (an 
> > https-capable) libcurl to our initial requirements in README.md, 
> possibly 
> > other places), leaving the user with the responsibility of installing 
> it. 
> > This is option : 
> > 
> > c) Throw the towel 
> > --------------------------- 
> > 
> > Another possibility in the same vein is to throw the whole linen cabinet 
> : 
> > instead of placing on user's shoulders the responsibility of finding 
> > libcurl, we might leave it the responsibility of installing R. This is 
> made 
> > possible by the fact that R is now largely stable, with well-documented 
> > interfaces and few changes, therefore standardizable. A review of *all* 
> the 
> > points of exchange between R and other parts of Sage would be necessary 
> to 
> > check what is to be supported. As far as I know, R is sparsely used in 
> "the 
> > rest of Sage. This is option : 
> > 
> > d) Excise R kernel 
> > --------------------------- 
> > 
> > At that point, one might wonder if R should remain a standard part of 
> Sage. 
> > Dropping the requirement for T and making R interfaces an optional part 
> of 
> > Sage might also be a solution. But this is possible if and only if the 
> code 
> > review necessary to Sage excision shows no use of R's capabilities in 
> other 
> > standard part of Sage. This is option : 
> > 
> > e) Excise R interfaces 
> > -------------------------------- 
> > 
> > I think that we can forget about creating a network-deprived R : the 
> > resulting loss of functionality is so massive that it would become 
> almost 
> > useless (to people having a use for R, that is...). I have to add that I 
> > would fight such a "solution"... 
> > 
> > III : Pros and contras 
> > ------------------------------ 
> > 
> > "Throw the towel" is the laziest option : a few lines of not 
> hard-to-write 
> > documentation in a few (harder-to-find ?) places. It buys us nothing in 
> > terms of functionality. And leaves us with the responsibility of 
> updating R 
> > (a not-so-insignificant task) and large sources, libraries and 
> executables. 
> > 
> > "Do nothing" is (almost but not quite) as lazy: porting libcurl is 
> > essentially done ; it remains to check if other libraries are required 
> to 
> > build an https:-capable libcurl. No other benefits. 
> > 
> > "Acknowledge libcurl" seems almost infeasible, due to the necessity to 
> hunt 
> > all the past and present Sage contributors. It would be otherwise the 
> > cleanest solution in the eyes of legal-oriented people. 
> > 
> > "Excise R kernel" needs a serious bit of work. But it would have its 
> points 
> > : document all the uses of R from other parts of Sage, forcing the 
> > documentation of these uses, etc... It would also lighten the 
> maintenance of 
> > Sage. However, we would be exposed to brutal loss of functionality 
> if/when R 
> > changes without warning. Furthermore, paranoid users (such as me :-) 
> would 
> > not have to maintain "system" and "Sage" installations of R (not a small 
> > task with litteraly thousands of R packages available...). 
> > 
> > "Excise R interfaces" is probably easy to do (modulo the code review 
> > necessary to excision) ; in my not so humble opinion, it would be a 
> serious 
> > loss of interest for me and, more generally, a catastrophic mistake in 
> > communication : R has been part of Sage since version 3.0 (2008) (if 
> > Wikipedia is to be believed), and it would be the first ever 
> *intentional* 
> > loss of functionality of Sage. Furthermore, I am a bit skeptic about R 
> > interfaces maintenance if they ever becom an optional part of Sage : 
> even 
> > the (Sage) notebook, which is pretty central,  has attracted cruft to 
> the 
> > point of becoming unmaintainable... 
> > 
> > My short-sighted laziness would go to "Throw the towel" ; my long-term 
> > laziness would choose "Excise R kernel" (it could be the former now, the 
> > latter afterwards). However, notwithstanding its drawbacks, "do nothing" 
> is 
> > almost done. 
> > 
> > What do you think ? 
> > 
> > -- 
> > Emmanuel Charpentier 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "sage-devel" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to sage-devel+...@googlegroups.com <javascript:>. 
> > To post to this group, send email to sage-...@googlegroups.com 
> <javascript:>. 
> > Visit this group at https://groups.google.com/group/sage-devel. 
> > For more options, visit https://groups.google.com/d/optout. 
>
>
>
> -- 
> William (http://wstein.org) 
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to