发新话题
 搜藏 打印 该页面添加到 Mister Wong

OpenBSD开发小组涉嫌抄袭Linux相关驱动代码

OpenBSD开发小组涉嫌抄袭Linux相关驱动代码

OpenBSD开发小组涉嫌抄袭Linux相关驱动代码, K$ s8 J" T& W, s( E

9 c8 T2 T6 Z9 {来自osnews的消息
( p9 l( c% d' C5 G: k, L5 j6 O8 T' [9 G; g
OpenBSD开发小组涉嫌抄袭别人代码,被Linux开发小组的人给揪出来了,该人同时是Broadcomchip bcm43x的专利拥有者。+ D  w7 V) k" q/ N, H
下面是他的全文:http://marc.info/?l=linux-wirele ... 766928130&q=raw
$ [. c) K" I) C9 b! X  m8 i$ w7 R6 R: O
I, Michael Buesch, am one of the maintainers of the GPL'd Linux
, `# E$ r6 _& x0 ywireless LAN driver for the Broadcom chip (bcm43xx).
% Q: N1 C- m, t1 t1 JThe Copyright holders of bcm43xx (which includes me) want to talk
8 @- S! `! B3 p+ Jto you, OpenBSD bcw developers, about possible GPL license and therefore
( L0 H$ Y+ Q! i/ k, K; ^Copyright violations in your bcw driver.
# u3 g' |1 N7 `2 q- \" s+ {$ W* B* J: A6 r/ f
We believe that you might have directly copied code
6 O: K, P4 g" R1 @( P7 `; c- tout of bcm43xx (licensed under GPL v2), without our explicit permission,
; ]  p0 h* A$ z( R0 linto bcw (licensed under BSD license).7 t0 @* ~, R. M+ c! D. J6 `
There are implementation details in bcm43xx that appear exactly
  H1 n+ s9 M9 w9 R  a# gthe same in bcw. These implementation details clearly don't come
( t$ O# O3 z4 a# ]+ t+ }from the open specifications at bcm-specs.sipsolutions.net. q) D: I# g9 d1 y5 u: X1 q
or bcm-v4.sipsolutions.net.
6 l; k, r# X- n5 z% k  Y# O) J4 Z1 P2 [/ Q- [' M
We have always made and still make a great effort to keep our code clean
. d, j6 d) o& }+ Vof any Copyright issues (cleanroom design). Please make sure you also do.- P6 t& c- K# V- N
) V/ M! V3 i) B9 `2 }; ]/ R
A few examples follow of what we think might be GPL violations.; X& P9 B' u% |
This list is far from being complete.% B7 ^% y6 b, \; W/ I* t( q: U

$ O4 C+ _7 I7 T1 y) L( @& n. iBCW_PHY_STACKSAVE()
4 R- l  K* a4 D0 DBCW_ILT_STACKSAVE()
( c- _5 V! T1 A! d/ X) k- O% d3 P# xbcw_stack_save()
; F7 d, L, z3 l3 h" h, jbcw_stack_restore()
- ?- x$ O0 P) O' k6 }These functions are a possible implementation of the specs when  k4 s+ W; b2 G# u9 s2 V# T  u
they say "backup/restore a value".3 t7 O& p3 ~0 e1 y5 L
Yet, it looks like you had exactly the same idea implementing this
. i9 u/ G! C, igeneric description that I had.8 d( h0 U5 J7 ~6 B4 D: S; T

3 [- s+ t  i. P, n* A3 k& y" ]bcw_set_opmode()# F2 i' F/ u' ]
This function does not appear in the specifications., I0 k* K4 S/ ^7 M$ V9 m. Q
I think Jiri Benc wrote it initially (and gave it its name) and
1 a$ n( ^& n+ a! nI extended it.$ Q2 p* B: g/ b. t9 y
8 N) A. l* }2 s8 Z( D8 k$ b: |
bcw_leds_switch_all()
2 E9 S. `8 ^% c- W6 kis not in the specs, but a pure implementation detail of bcm43xx.
9 n! ^' z( i% S) P" B2 ?6 S+ E* Q, N, @) _0 s) s- _
bcw_sprom_read()
6 W$ c0 K+ o3 h! r* ~This is obviously copied. Even the error message string is similiar.3 F' a7 c/ G* [1 D8 {8 L

9 n. e) k/ v% {9 {) Cbcw_phy_calc_loopback_gain()  k! x( v8 t  h+ t6 f% W
I think it's no coincidence that you also decided to name the backup! G! K  }: ?, ?5 u$ P( G) k% q
variables like4 E5 `& a! ?. z* @& d. K9 q* G7 B. ^
        uint16_t backup_phy[15];
  x9 O/ ]# h: a        uint16_t backup_radio[3];# m" y% @" s: K6 g
        uint16_t backup_bband;
: C% Y3 y4 c: D. S# y* k/ W: F$ b+ n1 o8 f1 c5 g1 B' n0 r( a( m, {
bcw_phy_init_pctl()4 S( b! W7 c/ P3 X! ~: }
        uint16_t saved_batt = 0, saved_ratt = 0, saved_txctl1 = 0;$ S5 @0 b3 M2 ~% O0 c2 N' B1 X
        int must_reset_txpower = 0;) o8 s* O1 U. Z5 ]

) _- T% y0 P$ c$ G3 abcw_phy_xmitpower()6 ^4 B* L; N6 M# ~) H) d- p  q7 ?
Attenuation adjustment algorithms (while loops).
* f6 e: X5 s  w3 S5 R, W$ v
$ r4 U7 U# r1 }6 z; Z6 mbcw_phy_lo_g_state()
  v" O+ u# A+ g+ j0 KThis exactly matches bcm43xx, although the specs only have an abstract2 ]/ ~( l: Q. _* k" l+ Y1 v
description and diagram of the state machine.8 u1 d4 `. U, y" d$ F! |
) r) M) `* a) R  {. N9 s* Q3 P1 R
bcw_phy_lo_g_deviation_subval()
& [! e% U8 B5 X/* XXX bcm43xx_voluntary_preempt() ? */
* {& C9 n( v8 [% {9 M. }Nice comment there.
1 @8 S  f: k3 RYou might want to grep bcw for the string "bcm43xx"
1 P3 ^& C0 P( }and you will find more of them.+ w! ~5 ]2 s6 E2 G0 ^  \

5 a) ]9 t& v& }4 c8 z8 A* O, y' m/ E+ o$ H& x0 g2 y* T1 b; j; _
... and all the rest.
9 c: M: u( \3 W! n1 H% c( z
) A% |+ ~  w: T) R2 ^
$ B( e# V, H% S: dWe'd like to have this issue resolved.
4 ?9 O6 L1 i5 _# ^In general we are not against having a free (and BSD licensed) driver
9 D. y& Q2 H' Q; e3 T; @: T; I6 Kin the BSD operating system. But you _have_ to cooperate with us if you'd4 n" T% F# N6 R$ w) D* U) ?) V$ N$ ^
like to take our code and relicense it under BSD license. We intentionally: x1 {. j* P( W# `( ~- h  x
put the code under GPL license. We did _not_ do this, because "everybody
: O% m  x, Z2 S$ h& odoes this". We did this, among other reasons, because we& J- O' E& }# D# H. D
[citing Michael, Mon, 26 Dec 2005 13:03:44 +0100]
; t, ]4 \; m* T$ S+ \' T3 t"don't think we should allow proprietary vendors to take our code& C% g2 c8 n7 ^# A' {3 c. O& n
and close it again."
- C- ~$ d, d: J4 f/ n' B; o/ X( l0 b0 O
[citing Michael, Date unknown]  y' }" R; b) U) M5 d
"What if Broadcom decides to take our LO measure state machine and
: j( E! K8 K- v& |3 M7 T1 Hput it into the original driver? (The Rev Engineers told me they have
! g( j6 ^4 u6 z5 Ea very different weird solution for this in their code).
. i9 m" M  h* B# Y) BI really don't want to see this happen."
6 N% B1 _' m$ a& J3 o4 H; \' u. e) {% p# r
We'd like to offer you to start cooperating with us.& W$ e2 l5 f$ ?# R& A! y, N
We respect you and your Copyright. You should also do so on our work.
) \/ n/ }3 k# {4 s/ \. J! W3 j  D& T6 x3 j! G6 Y7 C) H  |
We would not be opposed to relicensing parts of our code under the BSD' {( L$ g' h" i9 g% v1 W8 V
license on an explicit case-by-case base.
0 G: S2 z) r1 x; BSo if you ask "May I use this and that function" and if I own the" I3 o# d* m* s# k. s2 w/ U
Copyright on that particular function, I will approve or deny your request.
7 f6 P  v7 M) `3 @: i) u$ k$ O6 u& ?+ _Other Copyright holders of the bcm43xx code might act the same way., V. T2 h6 v5 A' H6 H! L  T. T

& z2 n6 ~* v1 ^8 K, ~We're not out for blood, just for a fair resolution.0 B1 i# F! P2 E
We'd like you to start contacting us to resolve the issue now.
, c* M, N( W" f4 L
/ Z4 D# u9 C' \8 [3 r! d( H$ k' \Have a nice day.
$ L3 c" P0 v( B* l) I$ u5 }# e; L  U$ L) \
--
- T- W' ]7 Y7 X: sGreetings Michael.1 m, \: e6 s' W5 o
-
9 C3 E& u( \6 A& O# ?To unsubscribe from this list: send the line "unsubscribe linux-wireless" in0 m1 R. z- {" W+ ^4 H! b  x, F8 V5 _
the body of a message to majordomo@vger.kernel.org
; F0 e! `4 e5 p" n4 [* T: C' xMore majordomo info at  http://vger.kernel.org/majordomo-info.html

本文由hew 发布于Linuxsky 论坛,网址:http://bbs.linuxsky.org/thread-5633-1-1.html

相关主题
你的鼓励,我的动力.
做人厚道,看贴回贴.
my linux blog

TOP

发新话题