IRC channel logs

2015-02-09.log

back to list of logs

<xjgrant>Is there a kind of general project manager similar to Lein (from the Clojure camp), for Guile and/or does one see value in such a thing locally?
<davexunit>what does Lein do exactly?
<xjgrant>It kinda sets up a generic source structure, as well as having some declarative automation like grabbing depends and etc.
<xjgrant>A lot of the latter could be handled by Guildhall or Guix, I suppose.
<please_help>so, asdf/quicklisp but for clojure?
<xjgrant>More or less, I think.
<KimK_laptop>Hi, how do I exit guile (started from terminal)? I was trying to do something like "guile --version" or "guile -v", but that didn't work. Help and advice appreciated. Thanks in advance.
<xjgrant>,quit I think.
<xjgrant>Or (quit), or (exit) or ",exit". One of those.
<xjgrant>I typica
<xjgrant>ly use it through Geiser, so not on the top of my head.
<KimK_laptop>Thanks.
<xjgrant>,help should pull a list of all relevant commands though.
<xjgrant>Tablets are horrid to write on.
<wleslie>KimK_laptop: also Ctrl-D
<KimK_laptop>Even better, thanks again!
*jgrant will likely look into it a bit more, but generally such tooling seems nice from a novice's interpretation.
<please_help>even to non-novices it's pretty useful in many ways - packaging without having to worry about target architecture being one of them.
<davexunit>maybe a tool that could generate boilerplate autotools files would be OK
<davexunit>for grabbing pure guile dependencies, there's the guildhall project.
<davexunit>and then of course we have guix.
<xjgrant>Autotools has generally been such a daughting thing for me to learn thus far.
<xjgrant>Is Guildhall still maintained?
<davexunit>dunno
<wleslie>it's a pretty new thing
<wleslie>fairly new thing
<xjgrant>Hm, is there outside dependencies for Guildhall that doesn't ship in Guile? Guix obviously has 3rd party depends.
<wleslie>afaiui it can do binary dependencies, I don't know if any packages use them
<wleslie>it's based of dorodango, which is an apt clone with r6rs package configuration
<wleslie>hm
<xjgrant>I'm saying that how portable is Guildhall? will it one on any Guile modern implementation, or is it like Guix, where it can be a little bit more problematic to get to new platforms?
<xjgrant>will it work automagically on
<wleslie>ijp drops by from time to time, it would be easiest to ask him
<wleslie>but afaik yes, it's just r6rs with some guile-specific layout knowledge
<xjgrant>Yeah, probably worth me looking into more. At the very least, it should give me yet another excuse to look into the upper depths of Guile more. :)
*davexunit tries to understand parser combinators
<nalaginrut>morning guilers~
<mark_weaver>sneek: guildhall?
<sneek>Someone once said guildhall is https://github.com/ijp/guildhall/wiki/Getting-Started
<mark_weaver>xxxjgrant: ^^
<mark_weaver>I believe it's pure scheme, no other deps.
<mark_weaver>(but not sure)
<mark_weaver>i.e. what wleslie said :)
<xxxjgrant>Has Guildhall really been ignored as much as it seems to me? If so, thats a bit sad me thinks.
<nalaginrut>IMO, we lack a convenient way (say, web interface) to submit packages and classify them automatically
<nalaginrut>but anyway, I think Guix could be alternative too (against guildhall)
*nalaginrut don't know if 'against' is proper here, maybe 'to' ?
<xxxjgrant>Guix is great for GNU as a system, but I don't think it is a great fit for distributing Guile libs soley. You would want something that is as portable as Guile and ypu could ship in the default distri…
<xxxjgrant>…bution thereof.
<nalaginrut>well, I agree that a dedicated package manager is better
<mark_weaver>nalaginrut: "classify them automatically"? I'm not sure what that means.
<mark_weaver>if the idea is to enable random people to add packages with little or no vetting by us, that would IMO lead to a pile of junk, non-free software, etc.
<mark_weaver>but of course, anyone can set up an alternative guildhall repo, just like anyone can set up a Debian apt repo.
<xxxjgrant>I thought they meant to tag them under something like "graphics", for a graphics library?
<nalaginrut>mark_weaver: I've ever sent a mail for discussing the 'package evaluate policy', it's easy when you have 'automatically classify', if they choose non-free license and no available source repo, admin could reject it from web interface
<nalaginrut>xxxjgrant: yes, that's one of them
<nalaginrut>hmm...maybe there won't be non-free licenses for choosing at all...
<nalaginrut>then they can't even submit a non-free package
<xxxjgrant>If we have a web interface for Guildhall, there should be no non-free licenses to choose from.
<nalaginrut>yeah
<nalaginrut>and 'no license' is not allowed
<xxxjgrant>On a related note, should I license Guile libraries as GPL or LGPL. I have a wikiparse library thats not that far away to goimg public of I continue at this rate.
<xxxjgrant>if I
<nalaginrut>people should aware of what they are doing before submit packages, license is the first important factor
<nalaginrut>xxxjgrant: well, I think you should read manual https://www.gnu.org/software/guile/manual/html_node/Guile-License.html
<mark_weaver>our official guildhall repo will certainly not allow any non-free software, or anything that depends on non-free software.
<mark_weaver>personally, I think that proposing submissions via guile-devel would be fine.
<xxxjgrant>Well, that was either not too insightful or I am too tired to grokk the point. Yeah, libguile is lgpl. Not sure if that means its a good standard for Guile libraries in general to be lgpl.
<mark_weaver>people are allowed to link non-free code to guile
<mark_weaver>people are allowed to run non-free code on guile
<mark_weaver>however, we will not have any part in distributing or promoting non-free software or anything that depends on it.
<mark_weaver>I'm talking about guildhall.gnu.org
<mark_weaver>(which is not yet set up)
<xxxjgrant>You regarding me mark?
*xxxjgrant is just speaking generally.
<mark_weaver>no, I wasn't responding to you specifically.
<xxxjgrant>Okay, sorry. Probably close to bed time ...
<mark_weaver>sorry, I didn't carefully read the backlog, and I guess my comments weren't needed here.
<nalaginrut>mark_weaver: no, it's useful to me, and I'm typing something for it
<nalaginrut>mark_weaver: yes, I thing it's proper to submit a package seriously to Guile official repo in guile-devel. But maybe we should allow other unofficial repos too
<mark_weaver>okay. I was skimming, and saw a mention of non-free license choices in a web form, and responded before reading the rest.
<nalaginrut>s/thing/think
<xxxjgrant>Is there a given reason why Guile is Lgpl? That it is better people are using a free lang to write non-free modules than both beimg non-free?
<nalaginrut>if we will allow unofficial repos, it's no need to discuss in guile-devel, but should be kept free anyway
<please_help>gpl allows writing non-free software with it too I think. I would guess the issue is embedding guile inside proprietary software, right?
<please_help>sorry, I kinda misread that, nevermind.
<nalaginrut>xxxjgrant: I think maybe because Guile is special one, since it's defined as GNU official extension language, and such things often linked with various libs
<xxxjgrant>I mean, what is "allowing unofficial repos"? Implementimg the feature of allowing more than one static?
<nalaginrut>xxxjgrant: guildhall supports multi repos, just like any other package managers
<nalaginrut>so users may add a new repo rather than the inner official repo, we can't stop it
<xxxjgrant>Typing on a phone is horrid, I already type slow enough and verbose enough usually and now I have yet another factor slowing me down...
<xxxjgrant>Yeah, I just think 'allowing' is weird phrasing.
<mark_weaver>xxxjgrant: the choice to use LGPL instead of GPL for libraries is really a tactical one.
<mark_weaver>it always depends on the details
<mark_weaver>see the "Libraries" section of https://gnu.org/licenses/license-recommendations.html
<xxxjgrant>I don't think would could morally not allow such things, because stopping such a thing as an explicit design choice is limiting users to the degree of near if not actual DRM.
<xxxjgrant>we could
<xxxjgrant>Thanks mark, bookmarked it.
<mark_weaver>basically, given the plethora of permissively-licensed alternatives, libguile is not compelling enough to entice users to license their works under the GPL.
<mark_weaver>please_help: yes, of course, you can write and run non-free software on GPL'd language implementations.
<mark_weaver>see https://gnu.org/licenses/gpl-faq.html#CanIUseGPLToolsForNF
<xxxjgrant>fttAh.
<xxxjgrant>Woah.
<xxxjgrant>Ah*
<mark_weaver>this FAQ is pertinent to the discussion: https://gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL
<mark_weaver>it doesn't relate to Guile, since Guile is covered by the GNU LGPL, but it answers some questions on how things would be different if Guile were covered by the GNU GPL instead.
<mark_weaver>also this: https://gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem
<nalaginrut>what's the difference between 'release' and 'distribute'?
<xxxjgrant>Typically they are synonymous in English in the sense of software development. Release means to let go of, and distribute means to spread.
<xxxjgrant>Distribute oftwn assumes the active and continued action of such a thing, while releasing assumes that it acts almost of its own agency in its spread.
<mark_weaver>yeah, I'm not aware of a difference between those two terms in this context, but IANAL
<xxxjgrant>For most purposes that I am aware, its more so a slight connotation change rather than an explicit and important distinction. Feel free to correct me anyone though.
<xxxjgrant>Yeah same, legally there might be a distinction of note. In common speak, not so much.
<nalaginrut>what about a demo in academic to public? is it a release?
<mark_weaver>I think that's a question for a laywer
<nalaginrut>I asked this because there's a famous case these days about a academic demo in China, which considered violate GPL
<nalaginrut>well, I should ask it somewhere...
<mark_weaver>nalaginrut: oh? I'd like to read more about that. any english language articles on it?
<nalaginrut>mark_weaver: oh you don't know? it's too hot these days
<mark_weaver>this is the first I've heard of it.
<nalaginrut>several days ago there's English comment for it, I have to find it
<mark_weaver>oh, by "demo" I thought you meant a demonstration at a public lecture, where the audience is merely watching.
<mark_weaver>I guess you mean that they distributed a piece of software and called it a "demo" ?
<mark_weaver>can you clarify?
<mark_weaver>simply labelling something a "demo" certainly doesn't release you from your obligations under the GPL.
<mark_weaver>if they distributed executable code, that's certainly a release/distribution.
<mark_weaver>Section 6 of GPLv3 addresses this. you are only permitted to convey a covered work in object code form if you also convey the machine-readable "Corresponding Source" under the terms of the license.
<mark_weaver>(and there's a list of permitted ways to convey the source)
<mark_weaver>see section 6 of https://gnu.org/licenses/gpl.html
<nalaginrut>mark_weaver: sorry for late reply, I went for lunch
<mark_weaver>no worries
<mark_weaver>it's long past time for me to read and understand the GNU GPLv3 in precise detail.
<nalaginrut>mark_weaver: as an academic demo, it's watched by too much people, so it's hot to argue it
<nalaginrut>mark_weaver: because it's awarded the highest level prize of China
<mark_weaver>did they distribute copies of GPL-covered object code?
<mark_weaver>how was the GPL allegedly violated?
<nalaginrut>mark_weaver: of course not, they announced as their original design, but someone found they used GPLv2 code in accident
<mark_weaver>nalaginrut: what was the alleged violation?
<mark_weaver>you can't violate the GPL without distributing GPL-covered code.
<nalaginrut>mark_weaver: yes, that's the problem, I need to figure out 'release' and 'distribute'
<mark_weaver>well, to be more precise, without doing something with the work that would violate copyright law.
<nalaginrut>at present, they can argue that it's just a demo, so it's not violation, I agree this point
<mark_weaver>nalaginrut: see the definitions of "propagate" and "convey" in section 0 of GPLv3
<mark_weaver> https://gnu.org/licenses/gpl.html
<nalaginrut>but you know, maybe it's just an temporary excuse, since they're caught by original author, but still have reasons for defending
<mark_weaver>section 2 (basic permissions) says: "You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force."
<nalaginrut>mark_weaver: https://github.com/iiordanov/remote-desktop-clients/issues/39
<mark_weaver>the GPL doesn't (and cannot) "prohibit" anything at all. copyright law is what prohibits things.
<mark_weaver>the GNU GPL only gives permissions to do certain things that would otherwise be prohibited by copyright law.
<mark_weaver>so (1) if copyright law doesn't prohibit it, then there's no GPL violation.
<nalaginrut>yes, I understand, without distribution they are fine with the law IMO
<mark_weaver>(2) even if copyright law would prohibit it, if the GPL'd work is not "convey"ed, then there's no GPL violation (as per section 2)
<mark_weaver>see section 0 for the definition of 'convey'.
<mark_weaver>"To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying."
<mark_weaver>in particular, users are allowed to link GPL'd code with non-free code privately, and the GPL says nothing about that.
<mark_weaver>the only issue arises when you want to do something that would be prohibited by copyright law, e.g. distributing copies of a GPL-covered work.
<nalaginrut>mark_weaver: what if they sell this software to third party secretly, say, govern?
<nalaginrut>it's better if there's strict definition of 'distribution' and 'release'
<mark_weaver>it depends whether that violates copyright law
<mark_weaver>I don't know copyright law in china
<nalaginrut>alright, I'll take a look at it now
<mark_weaver>although I confess I don't know which laws would be applicable here.
<mark_weaver>IANAL :)
<mark_weaver>i.e. chinese law might not be the only law that is relevant here.
<mark_weaver>I just don't know.
<mark_weaver>"To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well."
<mark_weaver>and then see the definition of "convey" that I pasted earlier, which uses "propagate".
<nalaginrut>mark_weaver: is it correctly "GPL only enabled while there's a related distribution exists?"
<nalaginrut>s/correctly/correct
<nalaginrut>GPL says if there's 'release', it should keep the rule of GPL
<mark_weaver>that language is too vague.
<nalaginrut>mark_weaver: it's someone argued against me, he emphasized 'distribution'
<mark_weaver>again, fundamentals: the GNU GPL doesn't prohibit anything. copyright law prohibits things. the GPL gives permissions only.
<mark_weaver>in section 2, the GPLv3 gives permission to 'propagate' covered works that you do not 'convey'.
<mark_weaver>(see section 2 for details)
<mark_weaver>so the question is, was any GPLv3-covered work conveyed.
<mark_weaver>and it sounds like the answer is no.
<mark_weaver>(based on what you've said, but you havent' said much)
<nalaginrut>I think the original software is GPLv2, I have to confirm
<nalaginrut>well, it's GPLv2,
<zacts>was emacs lisp around before guile?
<zacts>I just wonder why rms chose to make his own elisp rather than use scheme for emacs
<mark_weaver>zacts: yes
<zacts>from the beginning
<zacts>ah ok
<zacts>that basically answers my question I think
<zacts>although, I do find it interesting that mit-scheme includes an edwin editor, I wonder if edwin is older than emacs.. I should research this.
<mark_weaver>no, it's newer. and I believe edwin started as non-free software.
<zacts>oh wow, that's interesting
<mark_weaver>also GNU emacs was not the first emacs.
<mark_weaver>emacs is very old.
<mark_weaver> http://www.emacswiki.org/emacs/EmacsHistory
<mark_weaver>this was before scheme even exised.
<mark_weaver>*existed
<zacts>oh that's cool. ok.
<mark_weaver>also see https://www.gnu.org/gnu/rms-lisp.html
<mark_weaver>and http://www.emacswiki.org/emacs/EmacsTheExtensibleCustomizableSelfDocumentingDisplayEditor
<mark_weaver>nalaginrut: can you find an english-language article that describes the details of what happened?
<nalaginrut>mark_weaver: I'm finding while I'm arguing, maybe need sometime ;-)
<mark_weaver>I don't want to talk about this anymore until I know the dtails.
<mark_weaver>*details
<nalaginrut>mark_weaver: yes, save your time please
<mark_weaver>specifically, I'd like to see a good argument that the GPL was violated, and why.
<mark_weaver>or the best argument you know of
<nalaginrut>mark_weaver: http://news.sciencemag.org/asiapacific/2015/02/critics-pounce-china-s-top-science-prize
*mark_weaver looks
<mark_weaver>nalaginrut: I see no mention there of a GPL violation.
<nalaginrut>mark_weaver: but this article didn't argue against the license problem
<nalaginrut>I think think there's no good article for its licensing yet, so ...
<nalaginrut>anyway, this issue make me understand GPL deeper
<mark_weaver>I've done some web searches for "Zhang Yaoxue GPL violation" and similar queries, and found nothing.
<mark_weaver>I suspect this has been a total waste of my time :-/
<nalaginrut>mark_weaver: I'm sorry, this issue doesn't worth you to spend more time, so far
<mark_weaver>not that I'm blaming you. I asked for details, and shouldn't have spent so long trying to get blood from a stone.
<nalaginrut>mark_weaver: thank you for all the helps ;-)
<mark_weaver>you're welcome. at least there was some GPL education, so not a total waste :)
<zacts>mark_weaver: I can't remember, but did you say you are a fan of paredit mode?
<zacts>I'm considering trying it
<mark_weaver>absolutely. I have no idea how I lived without it.
<zacts>ah cool
<mark_weaver>but I warn you that it will be a little bit frustrating at first, until you learn to use it efficiently.
<zacts>ah ok
<zacts>that's cool, I think I'll get used to it eventually. I don't mind a learning curve
*nalaginrut is planning to play Aegis for TDD of Artanis, there're so many things need to be tested...
<ArneBab>xjgrant: basic autotools usage isn’t as hard as it looks, but the documentation makes that really hard to see.
<ArneBab>xjgrant: do you know the autotools mythbuster? https://autotools.io/
<wingo_>moin
***wingo_ is now known as wingo
<ArneBab>moin wingo
***mario-go` is now known as mario-goulart
<zacts>morning
<dsmith-work>Monday Greetings, Guilers
<lloda`>is there something like flonum-print-precision in Guile...?
<mark_weaver>lloda`: (ice-9 format) supports printing floats with a specified number of digits.
<mark_weaver>by default, they are printed with the minimum number of digits needed to ensure read/write invariance.
<dsmith-work>mark_weaver: I didn't know that.
<wingo>meep meep
<jgrant>Womp, womp.
<sneek>wacka wacka wacka wacka
<wingo>just a few more doc updates and i can do a 2.2 prerelease
<davexunit>!
<davexunit>wow!
<ArneBab>yay!
<paroneayea>:D
<dsmith-work>Wow! 2.2 prerelease!
<civodul>yay!
<zacts>cool