Comments (11)
Hi,
Since company-ghc depends on ghc-mod elisp internal, I think it is better to integrate it into ghc-mod. (it can be easily broken by ghc-mod change)
I have several concerns (rather random thoughts) though.
- Licence. company-ghc license is GPLv3, while ghc-mod is BSD3. Since I wrote the whole code, I can change the license. But I'm not sure it is right thing for Emacs community. (My favorite is MIT...)
- I have plan to add some other features to company-ghc, so I will update company-ghc constantly for the near future. Some of them are not related to ghc-mod.
- It adds dependencies (company-mode, ecukes, etc.) to ghc-mod. (or they can be optional dependency?)
I'd like to hear comments on the above from ghc-mod maintainers.
Aside from the above, I am glad to do it in general.
Thanks.
from company-ghc.
From: Iku Iwasa [email protected]
Subject: Re: [company-ghc] Integrate company-ghc into ghc-mod (#7)
Date: Sun, 24 Aug 2014 08:07:24 -0700
Hi,
Since company-ghc depends on ghc-mod elisp internal, I think it is
better to integrate it into ghc-mod. (it can be easily broken by
ghc-mod change)
Yeah, that's one of the reasons I'd like to merge it :)
I have several concerns (rather random thoughts) though.
- Licence. company-ghc license is GPLv3, while ghc-mod is BSD3. Since
I wrote the whole code, I can change the license. But I'm not sure
it is right thing for Emacs community. (My favorite is MIT...)
I for one prefer GPL3+ over ghc-mod's current license but I'm not the
original author so I just went with it. I think company-ghc's license
shouldn't be a problem though. Once we merge it the license of the
elisp bits simply becomes BSD3/GPL3+ so it's distributable only under
the GPL3+ but the pre-existing code remains BSD3 and the haskell bits
stay BSD3 likewise.
- I have plan to add some other features to company-ghc, so I will
update company-ghc constantly for the near future. Some of them are
not related to ghc-mod.
You can simply fork ghc-mod and work on your changes is a branch and
send us a pull request whenever it's ready. Unless you want direct
push access to the main repo? I'm sure we can figure something out.
- It adds dependencies (company-mode, ecukes, etc.) to ghc-mod. (or
they can be optional dependency?)
Cask/ecukes look really cool actually I was looking for something to
test ghc-mod's elisp bits properly anyways. I think this wouldn't be a
problem. It'd be awesome if you could help us make ghc-mod work with
Cask actually :)
I'd like to hear comments on the above from ghc-mod maintainers.
I'm one of the co-maintainers. @kazu-yamamoto, the original author and
long time maintainer is on vacation ATM.
Aside from the above, I am glad to do it in general.
Awesome :)
from company-ghc.
I have several concerns (rather random thoughts) though.
- Licence. company-ghc license is GPLv3, while ghc-mod is BSD3. Since
I wrote the whole code, I can change the license. But I'm not sure
it is right thing for Emacs community. (My favorite is MIT...)I for one prefer GPL3+ over ghc-mod's current license but I'm not the
original author so I just went with it. I think company-ghc's license
shouldn't be a problem though. Once we merge it the license of the
elisp bits simply becomes BSD3/GPL3+ so it's distributable only under
the GPL3+ but the pre-existing code remains BSD3 and the haskell bits
stay BSD3 likewise.
GNU thinks BSD is compatible with GPL. So, changing license from
GHC to BSD is not a problem for GNU community. As you may know, I
have maintained Mew (http://mew.org/) for many years and its
license is BSD. I don't receive any reports about license
problems.
Note that GPL is not compatible with BSD. So, changing license
from BSD to GPL would cause problems.
from company-ghc.
From: Kazu Yamamoto [email protected]
Subject: Re: [company-ghc] Integrate company-ghc into ghc-mod (#7)
Date: Sun, 24 Aug 2014 09:07:38 -0700
GNU thinks BSD is compatible with GPL. So, changing license from
GHC to BSD is not a problem for GNU community.
I don't quite understand what you mean by "changing license from GHC
to BSD". Did you mean "GPL" instead of "GHC"?
As you may know, I have maintained Mew (http://mew.org/) for many
years and its license is BSD. I don't receive any reports about
license problems.Note that GPL is not compatible with BSD. So, changing license
from BSD to GPL would cause problems.
That's not quite true. We don't have to change the license of the code
that already exists in elisp/
. If we add ghc-copany.el (or whatever
we end up calling company-ghc) which is under GPL3+ to the other code
in that directory the whole of it would be distributable under GPL3+
only but the individual parts would be distributable under BSD3 ||
GPL3+ depending on which file.
Therefore there is no license compatibility problem. If anyone wants
to contribute elisp code to ghc-mod under BSD3 they can, likewise if
someone wants to contribute code under a GPLx+ that's fine as well.
I for one would like my contributions (at least those concerning
elisp/
) to be covered under the GPL3+ as I don't take fancy in
others (ab)using my work for things that don't conform to the free
software philosophy.
from company-ghc.
About license, it is OK for me either to change it to BSD3 or to remain GPLv3.
You can simply fork ghc-mod and work on your changes is a branch and
send us a pull request whenever it's ready.
OK, it's fine.
Cask/ecukes look really cool actually I was looking for something to
test ghc-mod's elisp bits properly anyways. I think this wouldn't be a
problem. It'd be awesome if you could help us make ghc-mod work with
Cask actually :)
My Cask knowledge is very limited (just to prepare simple Cask file), but I am willing to help if any.
The limitation of Cask itself is it does not support Windows. (AFAIK. The situation might be changed though)
About ecukes, I think it is very nice tool to test features on Emacs.
from company-ghc.
Please do s/GHC/GPL/ in my comment.
from company-ghc.
That's not quite true. We don't have to change the license of the code that already exists in
elisp/
. If we add ghc-copany.el (or whatever we end up calling company-ghc) which is under GPL3+ to the other code in that directory the whole of it would be distributable under GPL3+ only but the individual parts would be distributable under BSD3 || GPL3+ depending on which file.
BSD license allows to distribute the code without its source code opened but GPL prohibits that. I don't think it will be a real problem for ghc-mod. But it is a common real problem of GPL.
from company-ghc.
Let's continue the GPL vs BSD holy wars somewhere else ;)
from company-ghc.
I can accept the situation where each file has its own license. But how to implement it? Should each file include its license in the end of the file?
from company-ghc.
@iquiw If you wish, I would give access right to the ghc-mod repository.
from company-ghc.
If you wish, I would give access right to the ghc-mod repository.
@kazu-yamamoto I will request it if the need comes.Thank you.
from company-ghc.
Related Issues (20)
- Interactive-Haskell hangs HOT 5
- completion of symbols in current module when not compiling? HOT 5
- Symbol's value as variable is void: company-backends HOT 3
- Fuzzy match for module names HOT 3
- company-ghc backend not found HOT 2
- company-ghc-turn-on-autoscan not detected HOT 4
- [Question] Constantly "Loading symbols for XX ..." HOT 2
- ghc-boot process seems to have failed HOT 11
- Company-ghc fails to scan and load modules HOT 1
- Operator in candidates
- Show type info in annotation HOT 6
- emacs sluggishness due to slow completion with ghc-mod HOT 11
- Integrate with company-flx HOT 1
- nil candidates without any other errors HOT 22
- Unwanted "Visit tags table (default TAGS)" HOT 1
- No autocompletion candidates for symbols in current file HOT 4
- How I can stop company-ghc to inject close parenthesis on import module keyword? HOT 4
- company-ghc backend found: company-ghc but ghc-boot process has not been done HOT 2
- MELPA package missing HOT 1
- Company gives “Wrong type argument” error message HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from company-ghc.