[Haskell-cafe] Dual-licensing the package on Hackage
Hi, Cafe! Probably, it was asked before but I could not find an answer with help of Google. I have a library which is hosted on Hackage. The library is licensed under BSD3. It is a very specialized library for a small target group. Now I'm going to relicense it and release a new version already under the dual-license: GPLv3 and commercial. In most cases GPL will be sufficient as this is not a library in common sense. Can I specify the GPL license in the .cabal file, or should I write OtherLicense? I'm going to add the information about dual-licensing in the description section of the .cabal file, though. Thanks, David ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Dual-licensing the package on Hackage
2013/7/30 David Sorokin david.soro...@gmail.com: Hi, Cafe! Probably, it was asked before but I could not find an answer with help of Google. I have a library which is hosted on Hackage. The library is licensed under BSD3. It is a very specialized library for a small target group. Now I'm going to relicense it and release a new version already under the dual-license: GPLv3 and commercial. In most cases GPL will be sufficient as this is not a library in common sense. Can I specify the GPL license in the .cabal file, or should I write OtherLicense? I'm going to add the information about dual-licensing in the description section of the .cabal file, though. Although you can indeed license your software under different licences, in the case of your question it doesn't seem to be a concern with Hackage: The license displayed on Hackage is the one for the corresponding .cabal file (or at least I think it is). So you issue your new version with the changed license, the new version is available with the new license, the old versions are still available with the old license. Everything is fine. Now about the dual licensing. It seems it is again not a problem with Hackage: you are not granting through Hackage such a commercial license. I guess you provide it upon request (for some money). I.e. when I download your library from Hackage, I receive it under the terms of the BSD (or GPL) license you have chosen, not under a commercial license that I would have to receive through other means. Otherwise the semantic of the license field on Hackage would mean the library is available under such and such licenses, which are not granted to you when you download the library on Hackage. Only when you download the package you can actually find the licensing terms (e.g. in the LICENSE file). But this seems unlikely to me. Cheers, Thu ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Dual-licensing the package on Hackage
Thanks Thu, I agree with you. Just I don't know what to write in the license field of the .cabal file: GPL or OtherLicense. The both choices seem correct to me and misleading at the same time. Cheers, David 30.07.2013, в 12:53, Vo Minh Thu написал(а): 2013/7/30 David Sorokin david.soro...@gmail.com: Hi, Cafe! Probably, it was asked before but I could not find an answer with help of Google. I have a library which is hosted on Hackage. The library is licensed under BSD3. It is a very specialized library for a small target group. Now I'm going to relicense it and release a new version already under the dual-license: GPLv3 and commercial. In most cases GPL will be sufficient as this is not a library in common sense. Can I specify the GPL license in the .cabal file, or should I write OtherLicense? I'm going to add the information about dual-licensing in the description section of the .cabal file, though. Although you can indeed license your software under different licences, in the case of your question it doesn't seem to be a concern with Hackage: The license displayed on Hackage is the one for the corresponding .cabal file (or at least I think it is). So you issue your new version with the changed license, the new version is available with the new license, the old versions are still available with the old license. Everything is fine. Now about the dual licensing. It seems it is again not a problem with Hackage: you are not granting through Hackage such a commercial license. I guess you provide it upon request (for some money). I.e. when I download your library from Hackage, I receive it under the terms of the BSD (or GPL) license you have chosen, not under a commercial license that I would have to receive through other means. Otherwise the semantic of the license field on Hackage would mean the library is available under such and such licenses, which are not granted to you when you download the library on Hackage. Only when you download the package you can actually find the licensing terms (e.g. in the LICENSE file). But this seems unlikely to me. Cheers, Thu ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Dual-licensing the package on Hackage
Well, if you are willing to grant me a GPL license when I download your package through Hackage, GPL is accurate. Again you are not providing me with another license. Obtaining a commercial license should be seeked through other means, perhaps by sending you an email. I don't think Hackage should be used for making adverts, but I think it would be ok to state in the description of the package something along the lines of commercial licenses are available through example.com. 2013/7/30 David Sorokin david.soro...@gmail.com: Thanks Thu, I agree with you. Just I don't know what to write in the license field of the .cabal file: GPL or OtherLicense. The both choices seem correct to me and misleading at the same time. Cheers, David 30.07.2013, в 12:53, Vo Minh Thu написал(а): 2013/7/30 David Sorokin david.soro...@gmail.com: Hi, Cafe! Probably, it was asked before but I could not find an answer with help of Google. I have a library which is hosted on Hackage. The library is licensed under BSD3. It is a very specialized library for a small target group. Now I'm going to relicense it and release a new version already under the dual-license: GPLv3 and commercial. In most cases GPL will be sufficient as this is not a library in common sense. Can I specify the GPL license in the .cabal file, or should I write OtherLicense? I'm going to add the information about dual-licensing in the description section of the .cabal file, though. Although you can indeed license your software under different licences, in the case of your question it doesn't seem to be a concern with Hackage: The license displayed on Hackage is the one for the corresponding .cabal file (or at least I think it is). So you issue your new version with the changed license, the new version is available with the new license, the old versions are still available with the old license. Everything is fine. Now about the dual licensing. It seems it is again not a problem with Hackage: you are not granting through Hackage such a commercial license. I guess you provide it upon request (for some money). I.e. when I download your library from Hackage, I receive it under the terms of the BSD (or GPL) license you have chosen, not under a commercial license that I would have to receive through other means. Otherwise the semantic of the license field on Hackage would mean the library is available under such and such licenses, which are not granted to you when you download the library on Hackage. Only when you download the package you can actually find the licensing terms (e.g. in the LICENSE file). But this seems unlikely to me. Cheers, Thu ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Dual-licensing the package on Hackage
Perhaps it would be best if .cabal allowed to have more than one license listed. Another solution would be to use custom field, for example: License: GPL x-Other-License: Commercial, see License-Commercial.txt All best, Krzysztof Skrzętnicki On Tue, Jul 30, 2013 at 11:44 AM, David Sorokin david.soro...@gmail.comwrote: Thanks Thu, I agree with you. Just I don't know what to write in the license field of the .cabal file: GPL or OtherLicense. The both choices seem correct to me and misleading at the same time. Cheers, David 30.07.2013, в 12:53, Vo Minh Thu написал(а): 2013/7/30 David Sorokin david.soro...@gmail.com: Hi, Cafe! Probably, it was asked before but I could not find an answer with help of Google. I have a library which is hosted on Hackage. The library is licensed under BSD3. It is a very specialized library for a small target group. Now I'm going to relicense it and release a new version already under the dual-license: GPLv3 and commercial. In most cases GPL will be sufficient as this is not a library in common sense. Can I specify the GPL license in the .cabal file, or should I write OtherLicense? I'm going to add the information about dual-licensing in the description section of the .cabal file, though. Although you can indeed license your software under different licences, in the case of your question it doesn't seem to be a concern with Hackage: The license displayed on Hackage is the one for the corresponding .cabal file (or at least I think it is). So you issue your new version with the changed license, the new version is available with the new license, the old versions are still available with the old license. Everything is fine. Now about the dual licensing. It seems it is again not a problem with Hackage: you are not granting through Hackage such a commercial license. I guess you provide it upon request (for some money). I.e. when I download your library from Hackage, I receive it under the terms of the BSD (or GPL) license you have chosen, not under a commercial license that I would have to receive through other means. Otherwise the semantic of the license field on Hackage would mean the library is available under such and such licenses, which are not granted to you when you download the library on Hackage. Only when you download the package you can actually find the licensing terms (e.g. in the LICENSE file). But this seems unlikely to me. Cheers, Thu ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Dual-licensing the package on Hackage
Unless you want to provide multiple open source licenses, I don't see the point: Anybody that needs a commercial license (and has some money) will simply ask for such a commercial license when seeing that the code is available under GPL. Another reason it is pointless is that you will certainly not want to list all the commercial licenses you have used/will use with different clients (there are virtually infinite commercial licenses that you can invent as needs arise: per seat, per core, per year, and so on depending on the clients/projects). I.e. you don't need to state upfront that commercial licences exist (although I understand that you think it is better to advertise your willingness to provide such commercial license, but a comment is enough, the fact is that license is not provided through Hackage). 2013/7/30 Krzysztof Skrzętnicki gte...@gmail.com: Perhaps it would be best if .cabal allowed to have more than one license listed. Another solution would be to use custom field, for example: License: GPL x-Other-License: Commercial, see License-Commercial.txt All best, Krzysztof Skrzętnicki On Tue, Jul 30, 2013 at 11:44 AM, David Sorokin david.soro...@gmail.com wrote: Thanks Thu, I agree with you. Just I don't know what to write in the license field of the .cabal file: GPL or OtherLicense. The both choices seem correct to me and misleading at the same time. Cheers, David 30.07.2013, в 12:53, Vo Minh Thu написал(а): 2013/7/30 David Sorokin david.soro...@gmail.com: Hi, Cafe! Probably, it was asked before but I could not find an answer with help of Google. I have a library which is hosted on Hackage. The library is licensed under BSD3. It is a very specialized library for a small target group. Now I'm going to relicense it and release a new version already under the dual-license: GPLv3 and commercial. In most cases GPL will be sufficient as this is not a library in common sense. Can I specify the GPL license in the .cabal file, or should I write OtherLicense? I'm going to add the information about dual-licensing in the description section of the .cabal file, though. Although you can indeed license your software under different licences, in the case of your question it doesn't seem to be a concern with Hackage: The license displayed on Hackage is the one for the corresponding .cabal file (or at least I think it is). So you issue your new version with the changed license, the new version is available with the new license, the old versions are still available with the old license. Everything is fine. Now about the dual licensing. It seems it is again not a problem with Hackage: you are not granting through Hackage such a commercial license. I guess you provide it upon request (for some money). I.e. when I download your library from Hackage, I receive it under the terms of the BSD (or GPL) license you have chosen, not under a commercial license that I would have to receive through other means. Otherwise the semantic of the license field on Hackage would mean the library is available under such and such licenses, which are not granted to you when you download the library on Hackage. Only when you download the package you can actually find the licensing terms (e.g. in the LICENSE file). But this seems unlikely to me. Cheers, Thu ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Dual-licensing the package on Hackage
I am inclined to use value OtherLicense but state in the description that the package is available either under GPL or a commercial license. The latter must be requested to me. Then there would be no required additional steps to use the package under GPL. Only the LICENSE file must be appropriate. Probably, I will need two files LICENSE and LICENSE-GPLv3. In the former I will have add my copyright and write in a simple form that the license is dual and everyone is free to use the library under GPLv3 (which is the main use case) according the terms provided in the corresponded second file. Thanks, David On 30.07.2013 13:57, Vo Minh Thu wrote: Unless you want to provide multiple open source licenses, I don't see the point: Anybody that needs a commercial license (and has some money) will simply ask for such a commercial license when seeing that the code is available under GPL. Another reason it is pointless is that you will certainly not want to list all the commercial licenses you have used/will use with different clients (there are virtually infinite commercial licenses that you can invent as needs arise: per seat, per core, per year, and so on depending on the clients/projects). I.e. you don't need to state upfront that commercial licences exist (although I understand that you think it is better to advertise your willingness to provide such commercial license, but a comment is enough, the fact is that license is not provided through Hackage). 2013/7/30 Krzysztof Skrzętnicki gte...@gmail.com: Perhaps it would be best if .cabal allowed to have more than one license listed. Another solution would be to use custom field, for example: License: GPL x-Other-License: Commercial, see License-Commercial.txt All best, Krzysztof Skrzętnicki On Tue, Jul 30, 2013 at 11:44 AM, David Sorokin david.soro...@gmail.com wrote: Thanks Thu, I agree with you. Just I don't know what to write in the license field of the .cabal file: GPL or OtherLicense. The both choices seem correct to me and misleading at the same time. Cheers, David 30.07.2013, в 12:53, Vo Minh Thu написал(а): 2013/7/30 David Sorokin david.soro...@gmail.com: Hi, Cafe! Probably, it was asked before but I could not find an answer with help of Google. I have a library which is hosted on Hackage. The library is licensed under BSD3. It is a very specialized library for a small target group. Now I'm going to relicense it and release a new version already under the dual-license: GPLv3 and commercial. In most cases GPL will be sufficient as this is not a library in common sense. Can I specify the GPL license in the .cabal file, or should I write OtherLicense? I'm going to add the information about dual-licensing in the description section of the .cabal file, though. Although you can indeed license your software under different licences, in the case of your question it doesn't seem to be a concern with Hackage: The license displayed on Hackage is the one for the corresponding .cabal file (or at least I think it is). So you issue your new version with the changed license, the new version is available with the new license, the old versions are still available with the old license. Everything is fine. Now about the dual licensing. It seems it is again not a problem with Hackage: you are not granting through Hackage such a commercial license. I guess you provide it upon request (for some money). I.e. when I download your library from Hackage, I receive it under the terms of the BSD (or GPL) license you have chosen, not under a commercial license that I would have to receive through other means. Otherwise the semantic of the license field on Hackage would mean the library is available under such and such licenses, which are not granted to you when you download the library on Hackage. Only when you download the package you can actually find the licensing terms (e.g. in the LICENSE file). But this seems unlikely to me. Cheers, Thu ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Dual-licensing the package on Hackage
I'd say OtherLicense because: data License = GPL3 is different from data License = Commercial | GPL3 I hope this analogy to Haskell data types is convincing :) Janek - Oryginalna wiadomość - Od: David Sorokin david.soro...@gmail.com Do: Vo Minh Thu not...@gmail.com DW: Haskell Cafe haskell-cafe@haskell.org Wysłane: wtorek, 30 lipiec 2013 11:46:00 Temat: Re: [Haskell-cafe] Dual-licensing the package on Hackage I am inclined to use value OtherLicense but state in the description that the package is available either under GPL or a commercial license. The latter must be requested to me. Then there would be no required additional steps to use the package under GPL. Only the LICENSE file must be appropriate. Probably, I will need two files LICENSE and LICENSE-GPLv3. In the former I will have add my copyright and write in a simple form that the license is dual and everyone is free to use the library under GPLv3 (which is the main use case) according the terms provided in the corresponded second file. Thanks, David On 30.07.2013 13:57, Vo Minh Thu wrote: Unless you want to provide multiple open source licenses, I don't see the point: Anybody that needs a commercial license (and has some money) will simply ask for such a commercial license when seeing that the code is available under GPL. Another reason it is pointless is that you will certainly not want to list all the commercial licenses you have used/will use with different clients (there are virtually infinite commercial licenses that you can invent as needs arise: per seat, per core, per year, and so on depending on the clients/projects). I.e. you don't need to state upfront that commercial licences exist (although I understand that you think it is better to advertise your willingness to provide such commercial license, but a comment is enough, the fact is that license is not provided through Hackage). 2013/7/30 Krzysztof Skrzętnicki gte...@gmail.com: Perhaps it would be best if .cabal allowed to have more than one license listed. Another solution would be to use custom field, for example: License: GPL x-Other-License: Commercial, see License-Commercial.txt All best, Krzysztof Skrzętnicki On Tue, Jul 30, 2013 at 11:44 AM, David Sorokin david.soro...@gmail.com wrote: Thanks Thu, I agree with you. Just I don't know what to write in the license field of the .cabal file: GPL or OtherLicense. The both choices seem correct to me and misleading at the same time. Cheers, David 30.07.2013, в 12:53, Vo Minh Thu написал(а): 2013/7/30 David Sorokin david.soro...@gmail.com: Hi, Cafe! Probably, it was asked before but I could not find an answer with help of Google. I have a library which is hosted on Hackage. The library is licensed under BSD3. It is a very specialized library for a small target group. Now I'm going to relicense it and release a new version already under the dual-license: GPLv3 and commercial. In most cases GPL will be sufficient as this is not a library in common sense. Can I specify the GPL license in the .cabal file, or should I write OtherLicense? I'm going to add the information about dual-licensing in the description section of the .cabal file, though. Although you can indeed license your software under different licences, in the case of your question it doesn't seem to be a concern with Hackage: The license displayed on Hackage is the one for the corresponding .cabal file (or at least I think it is). So you issue your new version with the changed license, the new version is available with the new license, the old versions are still available with the old license. Everything is fine. Now about the dual licensing. It seems it is again not a problem with Hackage: you are not granting through Hackage such a commercial license. I guess you provide it upon request (for some money). I.e. when I download your library from Hackage, I receive it under the terms of the BSD (or GPL) license you have chosen, not under a commercial license that I would have to receive through other means. Otherwise the semantic of the license field on Hackage would mean the library is available under such and such licenses, which are not granted to you when you download the library on Hackage. Only when you download the package you can actually find the licensing terms (e.g. in the LICENSE file). But this seems unlikely to me. Cheers, Thu ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Dual-licensing the package on Hackage
Again I haven't seen a reason to do what you propose: virtually every single GPL library author would gladly accept money for their work to be used in a closed source setting, no need to use OtherLicense to reach that effect. On the other hand, you will stop people interested in open source to look further into your project if they see OtherLicense instead of a well-known open-source license. 2013/7/30 David Sorokin david.soro...@gmail.com: I am inclined to use value OtherLicense but state in the description that the package is available either under GPL or a commercial license. The latter must be requested to me. Then there would be no required additional steps to use the package under GPL. Only the LICENSE file must be appropriate. Probably, I will need two files LICENSE and LICENSE-GPLv3. In the former I will have add my copyright and write in a simple form that the license is dual and everyone is free to use the library under GPLv3 (which is the main use case) according the terms provided in the corresponded second file. Thanks, David On 30.07.2013 13:57, Vo Minh Thu wrote: Unless you want to provide multiple open source licenses, I don't see the point: Anybody that needs a commercial license (and has some money) will simply ask for such a commercial license when seeing that the code is available under GPL. Another reason it is pointless is that you will certainly not want to list all the commercial licenses you have used/will use with different clients (there are virtually infinite commercial licenses that you can invent as needs arise: per seat, per core, per year, and so on depending on the clients/projects). I.e. you don't need to state upfront that commercial licences exist (although I understand that you think it is better to advertise your willingness to provide such commercial license, but a comment is enough, the fact is that license is not provided through Hackage). 2013/7/30 Krzysztof Skrzętnicki gte...@gmail.com: Perhaps it would be best if .cabal allowed to have more than one license listed. Another solution would be to use custom field, for example: License: GPL x-Other-License: Commercial, see License-Commercial.txt All best, Krzysztof Skrzętnicki On Tue, Jul 30, 2013 at 11:44 AM, David Sorokin david.soro...@gmail.com wrote: Thanks Thu, I agree with you. Just I don't know what to write in the license field of the .cabal file: GPL or OtherLicense. The both choices seem correct to me and misleading at the same time. Cheers, David 30.07.2013, в 12:53, Vo Minh Thu написал(а): 2013/7/30 David Sorokin david.soro...@gmail.com: Hi, Cafe! Probably, it was asked before but I could not find an answer with help of Google. I have a library which is hosted on Hackage. The library is licensed under BSD3. It is a very specialized library for a small target group. Now I'm going to relicense it and release a new version already under the dual-license: GPLv3 and commercial. In most cases GPL will be sufficient as this is not a library in common sense. Can I specify the GPL license in the .cabal file, or should I write OtherLicense? I'm going to add the information about dual-licensing in the description section of the .cabal file, though. Although you can indeed license your software under different licences, in the case of your question it doesn't seem to be a concern with Hackage: The license displayed on Hackage is the one for the corresponding .cabal file (or at least I think it is). So you issue your new version with the changed license, the new version is available with the new license, the old versions are still available with the old license. Everything is fine. Now about the dual licensing. It seems it is again not a problem with Hackage: you are not granting through Hackage such a commercial license. I guess you provide it upon request (for some money). I.e. when I download your library from Hackage, I receive it under the terms of the BSD (or GPL) license you have chosen, not under a commercial license that I would have to receive through other means. Otherwise the semantic of the license field on Hackage would mean the library is available under such and such licenses, which are not granted to you when you download the library on Hackage. Only when you download the package you can actually find the licensing terms (e.g. in the LICENSE file). But this seems unlikely to me. Cheers, Thu ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Dual-licensing the package on Hackage
This is already another question what license to use :) On 30.07.2013 14:56, Vo Minh Thu wrote: Again I haven't seen a reason to do what you propose: virtually every single GPL library author would gladly accept money for their work to be used in a closed source setting, no need to use OtherLicense to reach that effect. On the other hand, you will stop people interested in open source to look further into your project if they see OtherLicense instead of a well-known open-source license. 2013/7/30 David Sorokin david.soro...@gmail.com: I am inclined to use value OtherLicense but state in the description that the package is available either under GPL or a commercial license. The latter must be requested to me. Then there would be no required additional steps to use the package under GPL. Only the LICENSE file must be appropriate. Probably, I will need two files LICENSE and LICENSE-GPLv3. In the former I will have add my copyright and write in a simple form that the license is dual and everyone is free to use the library under GPLv3 (which is the main use case) according the terms provided in the corresponded second file. Thanks, David On 30.07.2013 13:57, Vo Minh Thu wrote: Unless you want to provide multiple open source licenses, I don't see the point: Anybody that needs a commercial license (and has some money) will simply ask for such a commercial license when seeing that the code is available under GPL. Another reason it is pointless is that you will certainly not want to list all the commercial licenses you have used/will use with different clients (there are virtually infinite commercial licenses that you can invent as needs arise: per seat, per core, per year, and so on depending on the clients/projects). I.e. you don't need to state upfront that commercial licences exist (although I understand that you think it is better to advertise your willingness to provide such commercial license, but a comment is enough, the fact is that license is not provided through Hackage). 2013/7/30 Krzysztof Skrzętnicki gte...@gmail.com: Perhaps it would be best if .cabal allowed to have more than one license listed. Another solution would be to use custom field, for example: License: GPL x-Other-License: Commercial, see License-Commercial.txt All best, Krzysztof Skrzętnicki On Tue, Jul 30, 2013 at 11:44 AM, David Sorokin david.soro...@gmail.com wrote: Thanks Thu, I agree with you. Just I don't know what to write in the license field of the .cabal file: GPL or OtherLicense. The both choices seem correct to me and misleading at the same time. Cheers, David 30.07.2013, в 12:53, Vo Minh Thu написал(а): 2013/7/30 David Sorokin david.soro...@gmail.com: Hi, Cafe! Probably, it was asked before but I could not find an answer with help of Google. I have a library which is hosted on Hackage. The library is licensed under BSD3. It is a very specialized library for a small target group. Now I'm going to relicense it and release a new version already under the dual-license: GPLv3 and commercial. In most cases GPL will be sufficient as this is not a library in common sense. Can I specify the GPL license in the .cabal file, or should I write OtherLicense? I'm going to add the information about dual-licensing in the description section of the .cabal file, though. Although you can indeed license your software under different licences, in the case of your question it doesn't seem to be a concern with Hackage: The license displayed on Hackage is the one for the corresponding .cabal file (or at least I think it is). So you issue your new version with the changed license, the new version is available with the new license, the old versions are still available with the old license. Everything is fine. Now about the dual licensing. It seems it is again not a problem with Hackage: you are not granting through Hackage such a commercial license. I guess you provide it upon request (for some money). I.e. when I download your library from Hackage, I receive it under the terms of the BSD (or GPL) license you have chosen, not under a commercial license that I would have to receive through other means. Otherwise the semantic of the license field on Hackage would mean the library is available under such and such licenses, which are not granted to you when you download the library on Hackage. Only when you download the package you can actually find the licensing terms (e.g. in the LICENSE file). But this seems unlikely to me. Cheers, Thu ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Dual-licensing the package on Hackage
No. If I provide a library to you stating you can use it under the term of the GPL3, this does not prevent me from providing it to someone else under a different license (provided I have the rights to do so, for instance because I am the copyright owner). So as far as you're concerned (and this is the case with Hackage in this dicussion), the library is provided under the terms of the GPL. There is no point saying but if you pay me I can provide it under some other terms. 2013/7/30 Jan Stolarek jan.stola...@p.lodz.pl: I'd say OtherLicense because: data License = GPL3 is different from data License = Commercial | GPL3 I hope this analogy to Haskell data types is convincing :) Janek - Oryginalna wiadomość - Od: David Sorokin david.soro...@gmail.com Do: Vo Minh Thu not...@gmail.com DW: Haskell Cafe haskell-cafe@haskell.org Wysłane: wtorek, 30 lipiec 2013 11:46:00 Temat: Re: [Haskell-cafe] Dual-licensing the package on Hackage I am inclined to use value OtherLicense but state in the description that the package is available either under GPL or a commercial license. The latter must be requested to me. Then there would be no required additional steps to use the package under GPL. Only the LICENSE file must be appropriate. Probably, I will need two files LICENSE and LICENSE-GPLv3. In the former I will have add my copyright and write in a simple form that the license is dual and everyone is free to use the library under GPLv3 (which is the main use case) according the terms provided in the corresponded second file. Thanks, David On 30.07.2013 13:57, Vo Minh Thu wrote: Unless you want to provide multiple open source licenses, I don't see the point: Anybody that needs a commercial license (and has some money) will simply ask for such a commercial license when seeing that the code is available under GPL. Another reason it is pointless is that you will certainly not want to list all the commercial licenses you have used/will use with different clients (there are virtually infinite commercial licenses that you can invent as needs arise: per seat, per core, per year, and so on depending on the clients/projects). I.e. you don't need to state upfront that commercial licences exist (although I understand that you think it is better to advertise your willingness to provide such commercial license, but a comment is enough, the fact is that license is not provided through Hackage). 2013/7/30 Krzysztof Skrzętnicki gte...@gmail.com: Perhaps it would be best if .cabal allowed to have more than one license listed. Another solution would be to use custom field, for example: License: GPL x-Other-License: Commercial, see License-Commercial.txt All best, Krzysztof Skrzętnicki On Tue, Jul 30, 2013 at 11:44 AM, David Sorokin david.soro...@gmail.com wrote: Thanks Thu, I agree with you. Just I don't know what to write in the license field of the .cabal file: GPL or OtherLicense. The both choices seem correct to me and misleading at the same time. Cheers, David 30.07.2013, в 12:53, Vo Minh Thu написал(а): 2013/7/30 David Sorokin david.soro...@gmail.com: Hi, Cafe! Probably, it was asked before but I could not find an answer with help of Google. I have a library which is hosted on Hackage. The library is licensed under BSD3. It is a very specialized library for a small target group. Now I'm going to relicense it and release a new version already under the dual-license: GPLv3 and commercial. In most cases GPL will be sufficient as this is not a library in common sense. Can I specify the GPL license in the .cabal file, or should I write OtherLicense? I'm going to add the information about dual-licensing in the description section of the .cabal file, though. Although you can indeed license your software under different licences, in the case of your question it doesn't seem to be a concern with Hackage: The license displayed on Hackage is the one for the corresponding .cabal file (or at least I think it is). So you issue your new version with the changed license, the new version is available with the new license, the old versions are still available with the old license. Everything is fine. Now about the dual licensing. It seems it is again not a problem with Hackage: you are not granting through Hackage such a commercial license. I guess you provide it upon request (for some money). I.e. when I download your library from Hackage, I receive it under the terms of the BSD (or GPL) license you have chosen, not under a commercial license that I would have to receive through other means. Otherwise the semantic of the license field on Hackage would mean the library is available under such and such licenses, which are not granted to you when you download the library on Hackage. Only when you download the package you can actually find the licensing terms (e.g. in the LICENSE file). But this seems unlikely to me.
Re: [Haskell-cafe] Dual-licensing the package on Hackage
Sorry but I was not discussing which license to use. It seems I cannot get my point across... 2013/7/30 David Sorokin david.soro...@gmail.com: This is already another question what license to use :) On 30.07.2013 14:56, Vo Minh Thu wrote: Again I haven't seen a reason to do what you propose: virtually every single GPL library author would gladly accept money for their work to be used in a closed source setting, no need to use OtherLicense to reach that effect. On the other hand, you will stop people interested in open source to look further into your project if they see OtherLicense instead of a well-known open-source license. 2013/7/30 David Sorokin david.soro...@gmail.com: I am inclined to use value OtherLicense but state in the description that the package is available either under GPL or a commercial license. The latter must be requested to me. Then there would be no required additional steps to use the package under GPL. Only the LICENSE file must be appropriate. Probably, I will need two files LICENSE and LICENSE-GPLv3. In the former I will have add my copyright and write in a simple form that the license is dual and everyone is free to use the library under GPLv3 (which is the main use case) according the terms provided in the corresponded second file. Thanks, David On 30.07.2013 13:57, Vo Minh Thu wrote: Unless you want to provide multiple open source licenses, I don't see the point: Anybody that needs a commercial license (and has some money) will simply ask for such a commercial license when seeing that the code is available under GPL. Another reason it is pointless is that you will certainly not want to list all the commercial licenses you have used/will use with different clients (there are virtually infinite commercial licenses that you can invent as needs arise: per seat, per core, per year, and so on depending on the clients/projects). I.e. you don't need to state upfront that commercial licences exist (although I understand that you think it is better to advertise your willingness to provide such commercial license, but a comment is enough, the fact is that license is not provided through Hackage). 2013/7/30 Krzysztof Skrzętnicki gte...@gmail.com: Perhaps it would be best if .cabal allowed to have more than one license listed. Another solution would be to use custom field, for example: License: GPL x-Other-License: Commercial, see License-Commercial.txt All best, Krzysztof Skrzętnicki On Tue, Jul 30, 2013 at 11:44 AM, David Sorokin david.soro...@gmail.com wrote: Thanks Thu, I agree with you. Just I don't know what to write in the license field of the .cabal file: GPL or OtherLicense. The both choices seem correct to me and misleading at the same time. Cheers, David 30.07.2013, в 12:53, Vo Minh Thu написал(а): 2013/7/30 David Sorokin david.soro...@gmail.com: Hi, Cafe! Probably, it was asked before but I could not find an answer with help of Google. I have a library which is hosted on Hackage. The library is licensed under BSD3. It is a very specialized library for a small target group. Now I'm going to relicense it and release a new version already under the dual-license: GPLv3 and commercial. In most cases GPL will be sufficient as this is not a library in common sense. Can I specify the GPL license in the .cabal file, or should I write OtherLicense? I'm going to add the information about dual-licensing in the description section of the .cabal file, though. Although you can indeed license your software under different licences, in the case of your question it doesn't seem to be a concern with Hackage: The license displayed on Hackage is the one for the corresponding .cabal file (or at least I think it is). So you issue your new version with the changed license, the new version is available with the new license, the old versions are still available with the old license. Everything is fine. Now about the dual licensing. It seems it is again not a problem with Hackage: you are not granting through Hackage such a commercial license. I guess you provide it upon request (for some money). I.e. when I download your library from Hackage, I receive it under the terms of the BSD (or GPL) license you have chosen, not under a commercial license that I would have to receive through other means. Otherwise the semantic of the license field on Hackage would mean the library is available under such and such licenses, which are not granted to you when you download the library on Hackage. Only when you download the package you can actually find the licensing terms (e.g. in the LICENSE file). But this seems unlikely to me. Cheers, Thu ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list
Re: [Haskell-cafe] Dual-licensing the package on Hackage
I second this. Also, I would like to point out that the product you get from Hackage (the source code) will be licensed under the GPL. Nobody can get the commercial version of the product from Hackage, as one has to contact you (the owner) directly or in some other manner. I guess that is what Thu is trying to say. On Tue, Jul 30, 2013 at 3:03 PM, Vo Minh Thu not...@gmail.com wrote: No. If I provide a library to you stating you can use it under the term of the GPL3, this does not prevent me from providing it to someone else under a different license (provided I have the rights to do so, for instance because I am the copyright owner). So as far as you're concerned (and this is the case with Hackage in this dicussion), the library is provided under the terms of the GPL. There is no point saying but if you pay me I can provide it under some other terms. 2013/7/30 Jan Stolarek jan.stola...@p.lodz.pl: I'd say OtherLicense because: data License = GPL3 is different from data License = Commercial | GPL3 I hope this analogy to Haskell data types is convincing :) Janek - Oryginalna wiadomość - Od: David Sorokin david.soro...@gmail.com Do: Vo Minh Thu not...@gmail.com DW: Haskell Cafe haskell-cafe@haskell.org Wysłane: wtorek, 30 lipiec 2013 11:46:00 Temat: Re: [Haskell-cafe] Dual-licensing the package on Hackage I am inclined to use value OtherLicense but state in the description that the package is available either under GPL or a commercial license. The latter must be requested to me. Then there would be no required additional steps to use the package under GPL. Only the LICENSE file must be appropriate. Probably, I will need two files LICENSE and LICENSE-GPLv3. In the former I will have add my copyright and write in a simple form that the license is dual and everyone is free to use the library under GPLv3 (which is the main use case) according the terms provided in the corresponded second file. Thanks, David On 30.07.2013 13:57, Vo Minh Thu wrote: Unless you want to provide multiple open source licenses, I don't see the point: Anybody that needs a commercial license (and has some money) will simply ask for such a commercial license when seeing that the code is available under GPL. Another reason it is pointless is that you will certainly not want to list all the commercial licenses you have used/will use with different clients (there are virtually infinite commercial licenses that you can invent as needs arise: per seat, per core, per year, and so on depending on the clients/projects). I.e. you don't need to state upfront that commercial licences exist (although I understand that you think it is better to advertise your willingness to provide such commercial license, but a comment is enough, the fact is that license is not provided through Hackage). 2013/7/30 Krzysztof Skrzętnicki gte...@gmail.com: Perhaps it would be best if .cabal allowed to have more than one license listed. Another solution would be to use custom field, for example: License: GPL x-Other-License: Commercial, see License-Commercial.txt All best, Krzysztof Skrzętnicki On Tue, Jul 30, 2013 at 11:44 AM, David Sorokin david.soro...@gmail.com wrote: Thanks Thu, I agree with you. Just I don't know what to write in the license field of the .cabal file: GPL or OtherLicense. The both choices seem correct to me and misleading at the same time. Cheers, David 30.07.2013, в 12:53, Vo Minh Thu написал(а): 2013/7/30 David Sorokin david.soro...@gmail.com: Hi, Cafe! Probably, it was asked before but I could not find an answer with help of Google. I have a library which is hosted on Hackage. The library is licensed under BSD3. It is a very specialized library for a small target group. Now I'm going to relicense it and release a new version already under the dual-license: GPLv3 and commercial. In most cases GPL will be sufficient as this is not a library in common sense. Can I specify the GPL license in the .cabal file, or should I write OtherLicense? I'm going to add the information about dual-licensing in the description section of the .cabal file, though. Although you can indeed license your software under different licences, in the case of your question it doesn't seem to be a concern with Hackage: The license displayed on Hackage is the one for the corresponding .cabal file (or at least I think it is). So you issue your new version with the changed license, the new version is available with the new license, the old versions are still available with the old license. Everything is fine. Now about the dual licensing. It seems it is again not a problem with Hackage: you are not granting through Hackage such a commercial license. I guess you provide it upon request (for some money). I.e. when I download your library from Hackage, I receive it under the terms of the BSD (or GPL) license you have chosen, not under a commercial
[Haskell-cafe] ForeignPtr and Garbage Collection
Hi Cafe, Is it guaranteed that the value of `ForeignPtr` will not be changed (for example due to compaction etc) by haskell garbage collector until it goes out of scope and finalizer is run. -Satvik ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Dual-licensing the package on Hackage
One question is how much of a discovery/indexing role Hackage plays. There can be a tremendous difference in ease of obtaining a commercial license, and a restriction for things I can use in a proprietary project, once I pay enough seems like a legitimate use case. It also has some bearing on ease of contributing changes upstream - a project that is dual licensed will probably want well-documented transfer of ownership; a gpl only project may not. That said, I am less sure that Hackage needs to be the place to call that out. On Jul 30, 2013 2:51 AM, Vo Minh Thu not...@gmail.com wrote: Well, if you are willing to grant me a GPL license when I download your package through Hackage, GPL is accurate. Again you are not providing me with another license. Obtaining a commercial license should be seeked through other means, perhaps by sending you an email. I don't think Hackage should be used for making adverts, but I think it would be ok to state in the description of the package something along the lines of commercial licenses are available through example.com. 2013/7/30 David Sorokin david.soro...@gmail.com: Thanks Thu, I agree with you. Just I don't know what to write in the license field of the .cabal file: GPL or OtherLicense. The both choices seem correct to me and misleading at the same time. Cheers, David 30.07.2013, в 12:53, Vo Minh Thu написал(а): 2013/7/30 David Sorokin david.soro...@gmail.com: Hi, Cafe! Probably, it was asked before but I could not find an answer with help of Google. I have a library which is hosted on Hackage. The library is licensed under BSD3. It is a very specialized library for a small target group. Now I'm going to relicense it and release a new version already under the dual-license: GPLv3 and commercial. In most cases GPL will be sufficient as this is not a library in common sense. Can I specify the GPL license in the .cabal file, or should I write OtherLicense? I'm going to add the information about dual-licensing in the description section of the .cabal file, though. Although you can indeed license your software under different licences, in the case of your question it doesn't seem to be a concern with Hackage: The license displayed on Hackage is the one for the corresponding .cabal file (or at least I think it is). So you issue your new version with the changed license, the new version is available with the new license, the old versions are still available with the old license. Everything is fine. Now about the dual licensing. It seems it is again not a problem with Hackage: you are not granting through Hackage such a commercial license. I guess you provide it upon request (for some money). I.e. when I download your library from Hackage, I receive it under the terms of the BSD (or GPL) license you have chosen, not under a commercial license that I would have to receive through other means. Otherwise the semantic of the license field on Hackage would mean the library is available under such and such licenses, which are not granted to you when you download the library on Hackage. Only when you download the package you can actually find the licensing terms (e.g. in the LICENSE file). But this seems unlikely to me. Cheers, Thu ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Call for talks: Haskell Implementors Workshop 2013, Sept 22, Boston
Please pass on this announcement! The deadline is in two weeks.* * * * * Call for Talks* ACM SIGPLAN Haskell Implementors' Workshop http://haskell.org/haskellwiki/HaskellImplementorsWorkshop/2013 Boston, USA, September 22th, 2013 The workshop will be held in conjunction with ICFP 2013 http://www.icfpconference.org/icfp2013/ *Important dates* Proposal Deadline: *13th August2013 (by midnight, any timezone)* Notification: 27th August2013 Workshop: 22th September 2013 The Haskell Implementors' Workshop is to be held alongside ICFP 2013 this year in Boston. There will be no proceedings; it is an informal gathering of people involved in the design and development of Haskell implementations, tools, libraries, and supporting infrastructure. This relatively new workshop reflects the growth of the user community: there is a clear need for a well-supported tool chain for the development, distribution, deployment, and configuration of Haskell software. The aim is for this workshop to give the people involved with building the infrastructure behind this ecosystem an opportunity to bat around ideas, share experiences, and ask for feedback from fellow experts. We intend the workshop to have an informal and interactive feel, with a flexible timetable and plenty of room for ad-hoc discussion, demos, and impromptu short talks. Scope and target audience - It is important to distinguish the Haskell Implementors' Workshop from the Haskell Symposium which is also co-located with ICFP 2013. The Haskell Symposium is for the publication of Haskell-related research. In contrast, the Haskell Implementors' Workshop will have no proceedings -- although we will aim to make talk videos, slides and presented data available with the consent of the speakers. In the Haskell Implementors' Workshop, we hope to study the underlying technology. We want to bring together anyone interested in the nitty-gritty details behind turning plain-text source code into a deployed product. Having said that, members of the wider Haskell community are more than welcome to attend the workshop -- we need your feedback to keep the Haskell ecosystem thriving. The scope covers any of the following topics. There may be some topics that people feel we've missed, so by all means submit a proposal even if it doesn't fit exactly into one of these buckets: * Compilation techniques * Language features and extensions * Type system implementation * Concurrency and parallelism: language design and implementation * Performance, optimisation and benchmarking * Virtual machines and run-time systems * Libraries and tools for development or deployment Talks - At this stage we would like to invite proposals from potential speakers for a relatively short talk. We are aiming for 20 minute talks with 10 minutes for questions and changeovers. We want to hear from people writing compilers, tools, or libraries, people with cool ideas for directions in which we should take the platform, proposals for new features to be implemented, and half-baked crazy ideas. Please submit a talk title and abstract of no more than 200 words. Submissions should be made via EasyChair. The website is: https://www.easychair.org/conferences/?conf=hiw2013 If you don't have an account you can create one here: https://www.easychair.org/account/signup.cgi Because the submission is an abstract only, please click the abstract only button when you make your submission. There is no need to attach a separate file. We will also have a lightning talks session which will be organised on the day. These talks will be 2-10 minutes, depending on available time. Suggested topics for lightning talks are to present a single idea, a work-in-progress project, a problem to intrigue and perplex Haskell implementors, or simply to ask for feedback and collaborators. Organisers -- * Ryan Newton(Indiana University) * Neal Glew (Intel Labs) * Edward Yang(Stanford University) * Thomas Schilling (University of Kent) * Geoffrey Mainland (Drexel University) ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ForeignPtr and Garbage Collection
The pointer held in a ForeignPtr is not managed at all by the GC. The ForeignPtr itself is a GC'd object and runs a finalizer (a function receiving a pointer) with the value it holds when it is destroyed. For example, if you allocate a C resource in one foreign call and then store its value in a foreign pointer, that externally allocated memory it points to is outside the management of the GC. Matt On Tue, Jul 30, 2013 at 9:50 AM, satvik chauhan mystic.sat...@gmail.comwrote: Hi Cafe, Is it guaranteed that the value of `ForeignPtr` will not be changed (for example due to compaction etc) by haskell garbage collector until it goes out of scope and finalizer is run. -Satvik ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] ANN: Angel 0.4.4
I'm pleased to announce the release of Angel 0.4.4. angel is a daemon that runs and monitors other processes. It is similar to djb's daemontools or the Ruby project god. It's goals are to keep a set of services running, and to facilitate the easy configuration and restart of those services. New in 0.4.4 * Add env option to config to specify environment variables. * Inject ANGEL_PROCESS_NUMBER environment variable into processes started with count. This is intended for the purpose of logging, port enumeration, etc. Homepage: https://github.com/michaelxavier/angel HackageDB: http://hackage.haskell.org/package/angel -- Michael Xavier http://www.michaelxavier.net ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Haddock GSOC project progress
Greetings cafe, As some of you might know, I'm hacking on Haddock as part of Google Summer of Code. I was recently advised to create a blog and document some of what I have been doing recently. You can find the blog at [1] if you're interested. The first post goes over the work from the last month or so. Future posts should be shorter and on more specific topics. There's an overview of what has happened/changed/will change at the bottom of the post if you're short on time. Thanks. [1] - http://fuuzetsu.co.uk/blog -- Mateusz K. 0x2ADA9A97.asc Description: application/pgp-keys ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] ANNOUNCE: hdbi-1.0.0 and hdbi-postgresql-1.0.0
Hello, haskellers. This is the first release of HDBI (Haskell Database Independent interface). It is the fork of HDBC. HDBI has some improvements in design, it also has better testing and performance (mainly because of using Text instead of String anywhere). HDBI designed to be more flexible and correct database interface. You can find out more information in the documentation. http://hackage.haskell.org/package/hdbi http://hackage.haskell.org/package/hdbi-postgresql I am planning to implement MySql and Sqlite drivers as well https://github.com/s9gf4ult/hdbi https://github.com/s9gf4ult/hdbi-postgresql Issues and pull requests are welcome, as well as collaboration. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANNOUNCE: hdbi-1.0.0 and hdbi-postgresql-1.0.0
On 2013-07-31 05:45, Alexey Uimanov wrote: Hello, haskellers. This is the first release of HDBI (Haskell Database Independent interface). It is the fork of HDBC. HDBI has some improvements in design, it also has better testing and performance (mainly because of using Text instead of String anywhere). HDBI designed to be more flexible and correct database interface. You can find out more information in the documentation. http://hackage.haskell.org/package/hdbi http://hackage.haskell.org/package/hdbi-postgresql I am planning to implement MySql and Sqlite drivers as well https://github.com/s9gf4ult/hdbi https://github.com/s9gf4ult/hdbi-postgresql Issues and pull requests are welcome, as well as collaboration. Looks interesting. Just a couple of comments from skimming the documentation. Apologies, if these are already addressed -- didn't see any mention of it from my read-through. Regard parameterized SQL: It might be worth using named parameters (e.g. :foo and :bar or something like that) rather than ? as placeholders in SQL/prepared SQL. This will make it slightly more flexible if you need to provide different SQL strings for different databases, but want to reuse the code which does the actual running of the SQL. It's also more flexible if you need to repeat parameters -- the latter is typical with PostgreSQL if you want to emulate update-or-insert in a single SQL statement. Regarding migrations: If you haven't already, please have a look at Liquibase (http://www.liquibase.org/documentation/index.html) before attempting to implement migrations. The most important attributes of Liquibase are: a) migrations are *manually* specified deltas as opposed to deltas automatically derived from two snapshots of the database. Anything based on automatically getting from snapshot A to snapshot B *will* break or do undesirable/unpredictable things to data at some point. b) It deliberately does NOT provide migrations in a Turing Complete language -- IME, if you need TC migrations on a routine basis you're already in deep trouble and need to think more about what you're doing (at a process or engineering level). If you *really* need to, you *can* extend it do custom migrations via code, but the barrier to entry is sufficiently high that you'll rarely be tempted unless you *really* need it and the migration step is likely to be reusable. c) the concept of contexts (see the documentation) which allows you to vary the migrations across different environments as needed. (This is definitely open to abuse, but when you need it you *really* need it, IME.) d) It can also generate full SQL for changes-about-to-be-applied so that you can audit and/or apply them manually -- some devops teams need this, others may not care. A minor but important detail is that the generated SQL includes all the metadata for tracking the application of the migrations themselves. Liquibase is the only system *I've* ever seen that is even close to doing migrations the Right Way According To Me(TM). (I've used it since the 1.x days using the XML format and still haven't come across anything that can really compete.) Liquibase certainly has flaws(*), but one should think *really* hard about whether there isn't some existing migrations system which is good enough before foisting yet another migrations system on the world since it's highly likely to be at least as flawed as all the existing systems in one way or another. (Of course, being implemented in Java, there is one aspect of Liquibase which is annoying if using it for Haskell projects: It's not very convenient to auto-apply all migrations at startup time without some sort of run-this-executable-script-before-running-the-main-program hack. That, and you need a Java Runtime Environment installed.) Anyway, just throwing that out there... Regards, /b (*) Sub-par internal consistency checking across combinations of contexts for changelog files being one of them. There also the fact that it was until recently XML-based and that the the new syntaxes all have their own problems. Maybe a Haskell DSL could lead to some real improvements here... ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haddock GSOC project progress
Hi Mateusz, This looks great — I'm especially excited about List entries no longer have to be separated by empty lines! However, the decision to use Attoparsec (instead of Parsec, say) strikes me as a bit odd, as it wasn't intended for parsing source code. In particular, I'm concerned with error messages this parser would produce. Roman * Mateusz Kowalczyk fuuze...@fuuzetsu.co.uk [2013-07-30 23:35:45+0100] Greetings cafe, As some of you might know, I'm hacking on Haddock as part of Google Summer of Code. I was recently advised to create a blog and document some of what I have been doing recently. You can find the blog at [1] if you're interested. The first post goes over the work from the last month or so. Future posts should be shorter and on more specific topics. There's an overview of what has happened/changed/will change at the bottom of the post if you're short on time. Thanks. [1] - http://fuuzetsu.co.uk/blog ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe