1Return-Path: bill@thedirks.org 2Received: from zmta01.collab.prod.int.phx2.redhat.com (LHLO 3 zmta01.collab.prod.int.phx2.redhat.com) (10.5.5.31) by 4 mail06.corp.redhat.com with LMTP; Wed, 19 May 2010 02:43:28 -0400 (EDT) 5Received: from localhost (localhost.localdomain [127.0.0.1]) 6 by zmta01.collab.prod.int.phx2.redhat.com (Postfix) with ESMTP id B6AB39081C; 7 Wed, 19 May 2010 02:43:28 -0400 (EDT) 8Received: from zmta01.collab.prod.int.phx2.redhat.com ([127.0.0.1]) 9 by localhost (zmta01.collab.prod.int.phx2.redhat.com [127.0.0.1]) (amavisd-new, port 10024) 10 with ESMTP id ieqQbA5XErco; Wed, 19 May 2010 02:43:28 -0400 (EDT) 11Received: from int-mx04.intmail.prod.int.phx2.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.17]) 12 by zmta01.collab.prod.int.phx2.redhat.com (Postfix) with ESMTP id A451890805; 13 Wed, 19 May 2010 02:43:28 -0400 (EDT) 14Received: from mx1.redhat.com (ext-mx02.extmail.prod.ext.phx2.redhat.com [10.5.110.6]) 15 by int-mx04.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o4J6hSHT030087; 16 Wed, 19 May 2010 02:43:28 -0400 17Received: from gs8.inmotionhosting.com (gs8b.inmotionhosting.com [74.124.194.50]) 18 by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o4J6hH34025980; 19 Wed, 19 May 2010 02:43:17 -0400 20Received: from 75-54-226-58.lightspeed.frmtca.sbcglobal.net ([75.54.226.58] helo=[192.168.1.67]) 21 by gs8.inmotionhosting.com with esmtpsa (TLSv1:AES256-SHA:256) 22 (Exim 4.69) 23 (envelope-from <bill@thedirks.org>) 24 id 1OEd8K-0004wo-An; Tue, 18 May 2010 23:52:00 -0700 25Message-ID: <4BF38878.9030208@thedirks.org> 26Date: Tue, 18 May 2010 23:43:04 -0700 27From: Bill Dirks <bill@thedirks.org> 28User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4 29MIME-Version: 1.0 30To: Hans de Goede <hdegoede@redhat.com> 31CC: Huzaifa Sidhpurwala <huzaifas@redhat.com> 32Subject: Re: License question about v4l1-compat.c 33References: <4BF2445B.2080203@redhat.com> 34In-Reply-To: <4BF2445B.2080203@redhat.com> 35Content-Type: text/plain; charset=ISO-8859-1; format=flowed 36Content-Transfer-Encoding: 7bit 37X-AntiAbuse: This header was added to track abuse, please include it with any abuse report 38X-AntiAbuse: Primary Hostname - gs8.inmotionhosting.com 39X-AntiAbuse: Original Domain - redhat.com 40X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] 41X-AntiAbuse: Sender Address Domain - thedirks.org 42X-Source: 43X-Source-Args: 44X-Source-Dir: 45X-RedHat-Spam-Score: 0 () 46X-Scanned-By: MIMEDefang 2.67 on 10.5.11.17 47X-Scanned-By: MIMEDefang 2.67 on 10.5.110.6 48 49Hi, Hans. Nice to 'meet' you. 50 51Yes, that's fine. Take what you need from my code and use it in your 52LGPL licensed library. I'm all in favor of removing v4l1 from the kernel. 53 54Bill. 55 56 57On 5/18/2010 12:40 AM, Hans de Goede wrote: 58> Hi Bill, 59> 60> AFAIK you've been out of the v4l loop, so I assume you 61> don't know me, this let me start with a shot self introduction: 62> 63> I'm a Linux enthusiast / developer. Amongst other things I've 64> ported over many webcam drivers from v4l1 to v4l2 and I'm the 65> author and maintainer of libv4l. 66> 67> Let me also quickly introduce libv4l about 3 years ago I had 68> too much free time and was looking for a hobby project and I 69> decided that improving webcam support under Linux would be 70> a nice project. At that time there were many webcam driver but 71> most of them were out of tree, including the gspca driver 72> which is a usb webcam driver framework supporting a lot 73> of different chipsets. 74> 75> One problem with getting these merged is that a lot of webcam 76> chipsets produce proprietary (compressed) video formats, which 77> apps don't understand. The out of tree drivers all "fixed" this 78> by doing decompression and video format conversion inside the 79> kernel. 80> 81> This was not acceptable thus it was time to write a library 82> to sit between v4l2 apps and devices which could do format 83> conversion if necessary. This resulted in libv4l2 and 84> libv4lconvert being written, with libv4l2 being the glue sitting 85> in between and libv4lconvert doing the actual conversion. 86> 87> But this did not help v4l1 apps, so I also wrote libv4l1 for those. 88> 89> Both libv4l1 and libv4l2 work by emulating the raw device API, all 90> one needs to do is write v4lx_open instead of plain open when opening 91> the device and them use v4lx_ioctl, etc. on the resulting fd instead 92> of their plain versions. This serves 2 purposes: 93> 1) It makes porting of apps the the library trivial 94> 2) It allows for an LD_PRELOAD shim (used for proprietary apps such 95> as skype). 96> 97> And now (finally) my question to you, lately we (the v4l devs) have 98> been working on removing the last bits of v4l1 from the kernel. 99> We would like to also remove the v4l1 ioctl compatibility (*), but 100> currently libv4l1 depends on the v4l1 ioctl compatibility for some 101> ioctls. 102> 103> Fixing this comes down to looking at what the kernel compat code 104> does and then implementing that in libv4l1. This will likely involve 105> some direct copying and libv4l1 is licensed under the LGPL rather 106> then the GPL. Thus my question is would it be ok to use your v4l1 compat 107> code under the LGPL inside libv4l1 ? 108> 109> Thanks & Regards, 110> 111> Hans 112> 113> 114> (*) As in practice v4l1 apps need libv4l1 anyways both for format 115> conversion and because some v4l2 drivers don't implement VIDIOCGMBUF 116> including rather important ones like the UVC driver, thus we've 117> come to the conclusion that we might just as well drop the 118> compatibility from the kernel 119> 120 121 122############################################################################# 123 124Return-Path: kraxel@redhat.com 125Received: from zmta02.collab.prod.int.phx2.redhat.com (LHLO 126 zmta02.collab.prod.int.phx2.redhat.com) (10.5.5.32) by 127 mail06.corp.redhat.com with LMTP; Wed, 19 May 2010 04:25:49 -0400 (EDT) 128Received: from localhost (localhost.localdomain [127.0.0.1]) 129 by zmta02.collab.prod.int.phx2.redhat.com (Postfix) with ESMTP id BA56C9C63A 130 for <hdegoede@redhat.com>; Wed, 19 May 2010 04:25:49 -0400 (EDT) 131Received: from zmta02.collab.prod.int.phx2.redhat.com ([127.0.0.1]) 132 by localhost (zmta02.collab.prod.int.phx2.redhat.com [127.0.0.1]) (amavisd-new, port 10024) 133 with ESMTP id JBJ9UuFZvkuv for <hdegoede@redhat.com>; 134 Wed, 19 May 2010 04:25:49 -0400 (EDT) 135Received: from int-mx08.intmail.prod.int.phx2.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.21]) 136 by zmta02.collab.prod.int.phx2.redhat.com (Postfix) with ESMTP id 9E8119C608 137 for <hdegoede@mail.corp.redhat.com>; Wed, 19 May 2010 04:25:49 -0400 (EDT) 138Received: from zweiblum.home.kraxel.org (vpn1-7-147.ams2.redhat.com [10.36.7.147]) 139 by int-mx08.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o4J8PjFh018889 140 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) 141 for <hdegoede@redhat.com>; Wed, 19 May 2010 04:25:47 -0400 142Message-ID: <4BF3A088.4050101@redhat.com> 143Date: Wed, 19 May 2010 10:25:44 +0200 144From: Gerd Hoffmann <kraxel@redhat.com> 145User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100430 Fedora/3.0.4-2.fc12 Thunderbird/3.0.4 146MIME-Version: 1.0 147To: Hans de Goede <hdegoede@redhat.com> 148Subject: Re: Re-licensing v4l1-compat.c code which you wrote 149References: <4BF3A064.7080602@redhat.com> 150In-Reply-To: <4BF3A064.7080602@redhat.com> 151Content-Type: text/plain; charset=ISO-8859-1; format=flowed 152Content-Transfer-Encoding: 7bit 153X-Scanned-By: MIMEDefang 2.67 on 10.5.11.21 154 155 Hi, 156 157> My question to you is would it be ok to use your v4l1 compat 158> contributions under the LGPL inside libv4l1 ? 159 160Fine with me. 161 162cheers, 163 Gerd 164 165 166############################################################################# 167 168Return-Path: hverkuil@xs4all.nl 169Received: from zmta02.collab.prod.int.phx2.redhat.com (LHLO 170 zmta02.collab.prod.int.phx2.redhat.com) (10.5.5.32) by 171 mail06.corp.redhat.com with LMTP; Wed, 19 May 2010 04:28:02 -0400 (EDT) 172Received: from localhost (localhost.localdomain [127.0.0.1]) 173 by zmta02.collab.prod.int.phx2.redhat.com (Postfix) with ESMTP id E3BD49C63A; 174 Wed, 19 May 2010 04:28:02 -0400 (EDT) 175Received: from zmta02.collab.prod.int.phx2.redhat.com ([127.0.0.1]) 176 by localhost (zmta02.collab.prod.int.phx2.redhat.com [127.0.0.1]) (amavisd-new, port 10024) 177 with ESMTP id pjn9-H+iB0WI; Wed, 19 May 2010 04:28:02 -0400 (EDT) 178Received: from int-mx03.intmail.prod.int.phx2.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.16]) 179 by zmta02.collab.prod.int.phx2.redhat.com (Postfix) with ESMTP id CFAC29C608; 180 Wed, 19 May 2010 04:28:02 -0400 (EDT) 181Received: from mx1.redhat.com (ext-mx10.extmail.prod.ext.phx2.redhat.com [10.5.110.14]) 182 by int-mx03.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o4J8S2bj019331; 183 Wed, 19 May 2010 04:28:02 -0400 184Received: from smtp-vbr8.xs4all.nl (smtp-vbr8.xs4all.nl [194.109.24.28]) 185 by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o4J8Rp9r025653; 186 Wed, 19 May 2010 04:27:51 -0400 187Received: from webmail.xs4all.nl (dovemail13.xs4all.nl [194.109.26.15]) 188 by smtp-vbr8.xs4all.nl (8.13.8/8.13.8) with ESMTP id o4J8RiZq008091; 189 Wed, 19 May 2010 10:27:45 +0200 (CEST) 190 (envelope-from hverkuil@xs4all.nl) 191Received: from 62.70.2.252 192 (SquirrelMail authenticated user hverkuil) 193 by webmail.xs4all.nl with HTTP; 194 Wed, 19 May 2010 10:27:50 +0200 195Message-ID: <3968c0dc456676eb0b1652936d795482.squirrel@webmail.xs4all.nl> 196In-Reply-To: <4BF3A064.7080602@redhat.com> 197References: <4BF3A064.7080602@redhat.com> 198Date: Wed, 19 May 2010 10:27:50 +0200 199Subject: Re: Re-licensing v4l1-compat.c code which you wrote 200From: "Hans Verkuil" <hverkuil@xs4all.nl> 201To: "Hans de Goede" <hdegoede@redhat.com> 202Cc: "Gerd Hoffmann" <kraxel@redhat.com>, 203 "Mauro Carvalho Chehab" <mchehab@redhat.com>, 204 "Trent Piepho" <xyzzy@speakeasy.org>, 205 "Huzaifa Sidhpurwala" <huzaifas@redhat.com> 206User-Agent: SquirrelMail/1.4.18 207MIME-Version: 1.0 208Content-Type: text/plain;charset=iso-8859-1 209Content-Transfer-Encoding: 8bit 210X-Virus-Scanned: by XS4ALL Virus Scanner 211X-RedHat-Spam-Score: -0.02 (RCVD_IN_DNSWL_NONE,T_RP_MATCHES_RCVD) 212X-Scanned-By: MIMEDefang 2.67 on 10.5.11.16 213X-Scanned-By: MIMEDefang 2.67 on 10.5.110.14 214 215 216> Hi All, 217> 218> I'm writing you all because you've contributed patches 219> to the kernels v4l1 ioctl compat code living in v4l1-compat.c 220> 221> Most of you already know me, and know that I'm working on 222> making libv4l1 become independent of the kernel v4l1 ioctl 223> compat code, so that it can be removed from the kernel. 224> 225> For those who don't know me or the v4l1 cleanup effort, 226> read below for the long story. 227> 228> Making libv4l1 independent of the v4l1-compat.c code in the 229> kernel comes down to looking at what the kernel compat code 230> does and then implementing that in libv4l1. This will likely involve 231> some direct copying and libv4l1 is licensed under the LGPL rather 232> then the GPL. I already have permission from Bill Dirks who wrote 233> the initial v4l1-compat code to do this. 234> 235> My question to you is would it be ok to use your v4l1 compat 236> contributions under the LGPL inside libv4l1 ? 237 238Permission granted. 239 240Looking forward to seeing this in libv4l1 so we can kill this legacy code 241in the kernel. 242 243Regards, 244 245 Hans Verkuil 246 247> 248> Thanks & Regards, 249> 250> Hans 251> 252> 253> The long story: 254> 255> I'm a Linux enthusiast / developer. Amongst other things I've 256> ported over many webcam drivers from v4l1 to v4l2 and I'm the 257> author and maintainer of libv4l. 258> 259> Let me also quickly introduce libv4l about 3 years ago I had 260> too much free time and was looking for a hobby project and I 261> decided that improving webcam support under Linux would be 262> a nice project. At that time there were many webcam driver but 263> most of them were out of tree, including the gspca driver 264> which is a usb webcam driver framework supporting a lot 265> of different chipsets. 266> 267> One problem with getting these merged is that a lot of webcam 268> chipsets produce proprietary (compressed) video formats, which 269> apps don't understand. The out of tree drivers all "fixed" this 270> by doing decompression and video format conversion inside the 271> kernel. 272> 273> This was not acceptable thus it was time to write a library 274> to sit between v4l2 apps and devices which could do format 275> conversion if necessary. This resulted in libv4l2 and 276> libv4lconvert being written, with libv4l2 being the glue sitting 277> in between and libv4lconvert doing the actual conversion. 278> 279> But this did not help v4l1 apps, so I also wrote libv4l1 for those. 280> 281> Both libv4l1 and libv4l2 work by emulating the raw device API, all 282> one needs to do is write v4lx_open instead of plain open when opening 283> the device and them use v4lx_ioctl, etc. on the resulting fd instead 284> of their plain versions. This serves 2 purposes: 285> 1) It makes porting of apps the the library trivial 286> 2) It allows for an LD_PRELOAD shim (used for proprietary apps such 287> as skype). 288> 289> Lately we (the v4l devs) have been working on removing the last bits 290> of v4l1 from the kernel. We would like to also remove the v4l1 ioctl 291> compatibility (*), but currently libv4l1 depends on the v4l1 ioctl 292> compatibility for some ioctls, we are working on fixing this 293> which involves re-using code from v4l1-compat.c, hence the 294> re-licensing permission question. 295> 296> (*) As in practice v4l1 apps need libv4l1 anyways both for format 297> conversion and because some v4l2 drivers don't implement VIDIOCGMBUF 298> including rather important ones like the UVC driver, thus we've 299> come to the conclusion that we might just as well drop the 300> compatibility from the kernel. 301> 302 303 304-- 305Hans Verkuil - video4linux developer - sponsored by TANDBERG, part of Cisco 306 307 308############################################################################# 309 310Return-Path: mchehab@redhat.com 311Received: from zmta01.collab.prod.int.phx2.redhat.com (LHLO 312 zmta01.collab.prod.int.phx2.redhat.com) (10.5.5.31) by 313 mail06.corp.redhat.com with LMTP; Wed, 19 May 2010 10:25:02 -0400 (EDT) 314Received: from localhost (localhost.localdomain [127.0.0.1]) 315 by zmta01.collab.prod.int.phx2.redhat.com (Postfix) with ESMTP id 6BC5E90C13; 316 Wed, 19 May 2010 10:25:02 -0400 (EDT) 317Received: from zmta01.collab.prod.int.phx2.redhat.com ([127.0.0.1]) 318 by localhost (zmta01.collab.prod.int.phx2.redhat.com [127.0.0.1]) (amavisd-new, port 10024) 319 with ESMTP id 8lqJbX3fk3W4; Wed, 19 May 2010 10:25:02 -0400 (EDT) 320Received: from int-mx08.intmail.prod.int.phx2.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.21]) 321 by zmta01.collab.prod.int.phx2.redhat.com (Postfix) with ESMTP id 5887890BAD; 322 Wed, 19 May 2010 10:25:02 -0400 (EDT) 323Received: from [10.11.10.12] (vpn-10-12.rdu.redhat.com [10.11.10.12]) 324 by int-mx08.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o4JEOv5p010028 325 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); 326 Wed, 19 May 2010 10:25:00 -0400 327Message-ID: <4BF3F4B9.3060803@redhat.com> 328Date: Wed, 19 May 2010 11:24:57 -0300 329From: Mauro Carvalho Chehab <mchehab@kernel.org> 330User-Agent: Thunderbird 2.0.0.22 (X11/20090609) 331MIME-Version: 1.0 332To: Hans de Goede <hdegoede@redhat.com> 333CC: Gerd Hoffmann <kraxel@redhat.com>, Hans Verkuil <hverkuil@xs4all.nl>, 334 Trent Piepho <xyzzy@speakeasy.org>, 335 Huzaifa Sidhpurwala <huzaifas@redhat.com> 336Subject: Re: Re-licensing v4l1-compat.c code which you wrote 337References: <4BF3A064.7080602@redhat.com> 338In-Reply-To: <4BF3A064.7080602@redhat.com> 339Content-Type: text/plain; charset=ISO-8859-1 340Content-Transfer-Encoding: 7bit 341X-Scanned-By: MIMEDefang 2.67 on 10.5.11.21 342 343Hans de Goede wrote: 344> Hi All, 345> 346> I'm writing you all because you've contributed patches 347> to the kernels v4l1 ioctl compat code living in v4l1-compat.c 348> 349> Most of you already know me, and know that I'm working on 350> making libv4l1 become independent of the kernel v4l1 ioctl 351> compat code, so that it can be removed from the kernel. 352> 353> For those who don't know me or the v4l1 cleanup effort, 354> read below for the long story. 355> 356> Making libv4l1 independent of the v4l1-compat.c code in the 357> kernel comes down to looking at what the kernel compat code 358> does and then implementing that in libv4l1. This will likely involve 359> some direct copying and libv4l1 is licensed under the LGPL rather 360> then the GPL. I already have permission from Bill Dirks who wrote 361> the initial v4l1-compat code to do this. 362> 363> My question to you is would it be ok to use your v4l1 compat 364> contributions under the LGPL inside libv4l1 ? 365 366LGPL for v4l1-compat code is fine for me. 367 368Cheers, 369Mauro 370 371############################################################################# 372