IRC logs of #tryton for Saturday, 2008-09-20 #tryton log beginning Sat Sep 20 00:00:01 CEST 2008
CIA-52tryton: C?dric Krier <> default * 989:19722c2067a4 trytond/trytond/ Fix ssl socket to have the same shutdown call as normal socket for issue38601:26
CIA-52tryton: ced roundup * #386/server secure: [resolved] Must be fixed with changeset 19722c2067a401:26
-!- yangoon( has joined #tryton05:19
-!- Timitos(n=Timitos@ has joined #tryton09:21
-!- cedk(n=ced@gentoo/developer/cedk) has joined #tryton10:26
CIA-52tryton: ced roundup * #386/server secure: [chatting] The XML-RPC with ssl has low performance, it is better to use a ssl proxy.12:00
-!- b52laptop(n=b52lapto@ has joined #tryton15:30
-!- cedk(n=ced@gentoo/developer/cedk) has joined #tryton16:40
cedkudono: you can find the vatnumber repository here:
cedkudono: and the web site:
cedkudono: I use the GPL-3 for this module17:47
cedkI have added some test script17:47
cedkudono: can you check if it is good for you? After that I will make the change in relationship module17:48
udonocedk: some remarks ;-)17:54
cedkby the way, if german people can also validate the numword module, I will be able to make a release17:54
udonocedk: for the I find it better to use a dictionary {"VAT Country": "VATNumber"}17:55
cedkudono: but I was thinking also add test for wrong vat numbers17:56
udonocedk: the actual numword isn't good for germans, but we dont know if its good for spain, too. So you can release when you like, and I contribute my code later17:56
udonocedk: yes, then use simply a second dictionary and two test routines one for right, one for wrong numbers17:57
cedkudono: ok, I will change17:58
cedkudono: for numword, I have time so if it is possible to have a right german it will be better17:58
udonocedk: I find it a good attitude to put contributors into the COPYRIGHT file, because every contribution is part of the release and every contributer is a legal copyright holder for his part of the release code. Another thing is, that the contributions are unter the Authorship of the contributor, and not the first author.18:01
cedkudono: in fact like that the COPYRIGHT is shared by every authors18:03
udonocedk: yes18:03
cedkudono: tests refactorized18:19
udonocedk: if there is code stolen from tryton, than its your and bechamels job alone (because of authorship) to follow up on this. Even if the stolen code isn't from yourself. So if you include all contributors as authors, then its the job for everyone of them. Another point is that you "demand" the sole authorship for an Open Source project. In fact that means - all in the context of a pure b2b software (like tryton is) - another company18:20
udonoe code to tryton. I've seen a lot of problems and caveats on this in other OS b2b projects, like SQL-Ledger, LX-Office and even at TinyERP. Why not have a large author page like Mozilla does?!18:20
udonocedk: great18:20
udonocedk: in there is missing the vat_checker method18:21
cedkudono: ok, we have no problems to add people that contributes to the COPYRIGHT file18:23
cedkudono: but they must have provide enough code, not just one patch with single line18:23
cedkudono: what do you mean by vat_checker ?18:25
udonocedk: to have a lot of contributors is a quality characteristic of an Open Source project. I would put them in et all.18:25
cedkudono: I'm more for this: we add people if they ask for18:26
udonocedk: Thats the right way18:26
cedkudono: and by the way, as we work with patches people who contribute have to patch also the COPYRIGHT file18:27
udonocedk: this is an even better idea, so we do not need resources for controling who, where, when...18:28
cedkudono: and all is recorded in mecurial18:28
udonocedk: yes, but this is not the same then the COPYRIGHT file...18:29
udonocedk: but mercurial is important for infringements18:30
udonocedk: about vat_checker, my fault. Its a special tryton function, because of handling vatnumbers like we do, seperated in vat_country and vat_number...18:32
yangooncedk: ping, ar eyou around?19:07
udonoI ask bkuhn for handling contributors and authors...19:09
-!- bkuhn(n=bkuhn@sflc/staff/conservancy.president.bkuhn) has joined #tryton19:18
bkuhnudono: we can talk here if you want.19:18
udonobkuhn: yes, thanks19:19
udonobkuhn: we are talking about copyright, authors, contributors in a b2b software like tryton...19:19
udonobkuhn: what is the difference between them in legal aspects?19:21
udonobkuhn: is every contributor an author for his part of code...19:21
bkuhnudono: Typically, yes, everyone holds copyright on the  code he/she contributes.19:21
udonobkuhn: is it a good way to put all contributors in a long list inside the copyright file?19:22
bkuhnudono: there are basically two good ways to handle what is called "copyright inventory".19:22
bkuhnThere is the "file-by-file method" or the "top-level copyright file method".19:22
bkuhnMost FLOSS projects used file-by-file, which means each time a contributor adds code to a file, they add their copyright notice in just that file.19:23
udonobkuhn: we choose the top-level one19:23
bkuhnAh, so if you do top level, each time someone contributes anything to the project, then just add their notice to the top level file COPYRIGHT.19:23
bkuhnEach person would have an entry like:19:23
bkuhnCopyright (C) YEAR1, YEAR2, ...  Bradley M. Kuhn19:23
bkuhnThen, in each file in the project ,you should have a notice like:19:23
bkuhn"This file is part of the Tryton project.  Copyright information can be found at the top level file in the distribution COPYRIGHT.  The project is licensed under GPLv2-or-later; details on the license are in the top level file in the distribution, LICENSE"19:24
bkuhnthen in LICENSE, you should put the the info about the license.19:24
bkuhnusually it will say something like the standard notice that most people put in each file (that is found in the  how-to-apply section of the GPL)19:25
bkuhnusually, I leave the full text of the GPL in a file called GPLv2 or GPLv319:25
bkuhnand LICENSE has the general license notice19:25
bkuhnthere are other ways to do that correctly; this is just my preference.19:25
bkuhnThe most important point is you should put SOME statement at the top of each file, even if you use top-level method19:26
bkuhnjust so that when people get one file, they know they are missing something they must fine19:26
udonobkuhn: so if the project gets infringed every contributor may follow up on this?19:27
udonobkuhn: we put the copyright information on top of each file...19:28
bkuhnwell, then you are choosing the "file-by-file method"19:34
bkuhnNote that I'm talking merely of inventory systems... systems for keeping track of who holds copyright.19:34
bkuhnAs for infringement, that's a different matter and mostly orthogonal to the question of how you keep your iventories.19:35
udonobkuhn: no, we chose thoe on top method, but with remarks on top of every file, sorry for unclearness19:35
udonobkuhn: I meant with my question, if someone has "stolen" code from the project is it just "stolen" from the contributions made by a single contributor, or is it "stolen" from the whole project. Is it "stolen" from all contributors, and is it possible for all contributors, to clear the situation with the "thief"19:37
-!- ikks(n=igor@ has joined #tryton19:38
bkuhnudono: I don't much like the "stealing" analogy.19:39
bkuhnThe question is: if someone infringes the copyright, whose copyrights are they infringing.19:39
bkuhnIt depends on the details.19:39
bkuhnIf you have done file-by-file method (i.e., each file has individual cpyright notices at the top), then it's hard to say that they are infringing anyone's copyrights but those who have contributed to the files in question.19:40
bkuhnHowever, there are exceptions and complications for various reasons.19:40
bkuhnYou can't know for sure until the details are in front of you.19:40
udonobkuhn: ok, I understand.19:42
udonobkuhn: Thanks a lot for the tips.19:45
bkuhnSure, no problem.19:45
-!- ikks(n=igor@ has joined #tryton19:56
cedkyangoon: yes20:23
yangooncedk: there seemed to be an installation problem, but like often, it was a cache problem20:25
cedkyangoon: what cache problem?20:26
yangooncedk: the server has definitely to be stopped before doing an installation with -i and afterwards restarted20:26
cedkyangoon: yes of course20:27
yangooncedk: it is not that clear to me, why it has to be done in this scenario:20:27
cedkyangoon: because server need to instanciate the object at startup20:28
yangooncedk: I have running the server as usually as a service20:28
cedkyangoon: depending of the module installed20:28
cedkif you install module without restart the server, the server will not have the right objects20:28
yangoonbut server has already all objects20:28
cedkno, it has only instanciate object from installed modules20:29
yangoonI will say sjhortly what I Have done20:29
yangoonAFAIS server inits all modules it finds in the appropraiate directory20:31
yangoonok, I have the server running, I create new DB from the client20:31
yangoonI stop the client, run another instance of trytond with -i -d new20:32
yangoonIconnect the client to the new database, and the error was there20:32
yangoonwhat I don't understand: server instance 1 had excactly same base as instance when it was started20:33
cedkyangoon: yes that is normal because the server instanciate only objects from installed modules20:33
cedkyangoon: and keep it in a pooler20:33
cedkyangoon: so the pooler need to be restart20:34
yangoonbut how does it do when client connect to different DBs with different modules?20:34
cedkyangoon: there is a pooler by database20:34
cedkyangoon: one things that can be done, is to handle a signal to restart poolers20:35
yangooncedk: and this pooler "knows" last state of db?20:35
cedkyangoon: no20:36
yangooncedk: so if another instance changes something in modules installation, pooler gets confused?20:36
cedkyangoon: yes20:36
cedkyangoon: it will cost too much to track this20:36
cedkand that is something that must never happen in a real installation20:37
yangoonI will try to document this, because I think (at least) in development environments it is a mistake done quick and likely often20:37
cedkI can handle the SIGUSR1 to force the restart of the poolers20:38
yangoonand how do you know, when you have to restart poolres?20:39
cedkyangoon: when the server will receive SIGUSR120:40
yangoonwhen does it get SIGUSR1? Who does send it?20:41
cedkyangoon: the user of course20:42
yangoonwhether he has to restart or just to reload, where is the difference?20:44
cedkyangoon: it is just faster to reload the pooler than to restart20:45
cedkyangoon: and the user connection is not lost20:45
yangoonok, then it is an advantage, but server usually starts very fast20:46
cedkyangoon: it will depend of the number of modules20:47
cedkyangoon: but of course it is just a shortcut20:47
-!- b52laptop(n=b52lapto@ has joined #tryton22:23

Generated by 2.11.0 by Marius Gedminas - find it at!