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

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

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

OpenBSD开发小组涉嫌抄袭Linux相关驱动代码0 W8 G% E' B* d8 f, V8 r% M

5 ~$ K$ P7 p  K& y% d来自osnews的消息
( X" A9 Q, E% ^3 T0 B  k7 g2 e0 y# R  v8 _+ N3 |- {8 ^
OpenBSD开发小组涉嫌抄袭别人代码,被Linux开发小组的人给揪出来了,该人同时是Broadcomchip bcm43x的专利拥有者。  D7 P" Z0 m! G+ H' C4 B0 J
下面是他的全文:http://marc.info/?l=linux-wirele ... 766928130&q=raw1 h  t2 L- n' D% E4 y

2 \0 Q" r4 z( S' a$ PI, Michael Buesch, am one of the maintainers of the GPL'd Linux  Y. d' }5 a7 d# ^) [0 b
wireless LAN driver for the Broadcom chip (bcm43xx).
" k3 E2 \7 l9 o, HThe Copyright holders of bcm43xx (which includes me) want to talk
1 s6 q9 l+ L! M. g, F+ Ito you, OpenBSD bcw developers, about possible GPL license and therefore& p, n% }, @0 v4 U( Z5 M$ \. \
Copyright violations in your bcw driver.7 W! s" A. s8 N( r+ h
% a  s( z, o1 v" ?) c, `
We believe that you might have directly copied code& }  ^* R4 Z0 c- F( O" K" h8 L
out of bcm43xx (licensed under GPL v2), without our explicit permission,* X: |8 h3 m. n: a" j# M4 L
into bcw (licensed under BSD license).
# u7 D7 O7 V+ {There are implementation details in bcm43xx that appear exactly
4 X2 P: L; h0 A- T/ M, zthe same in bcw. These implementation details clearly don't come8 f" t* ^8 Q- F
from the open specifications at bcm-specs.sipsolutions.net
0 h/ T5 a2 {- m1 Jor bcm-v4.sipsolutions.net.
1 q4 N  \8 e# L( l  o- @- m( Q6 ?  |
We have always made and still make a great effort to keep our code clean5 t1 u2 h( V8 x
of any Copyright issues (cleanroom design). Please make sure you also do.
1 O1 _0 q4 f8 f4 N$ J. e
; @. [( o; J' y8 L  m) LA few examples follow of what we think might be GPL violations.
" M! o. V1 f, bThis list is far from being complete.7 d' ~* v$ [( R

% ?6 W6 Y1 K& A" \& P2 lBCW_PHY_STACKSAVE()- I$ t! ]1 M, s! q
BCW_ILT_STACKSAVE()2 s9 o3 i3 J2 Y0 W: U) }
bcw_stack_save()
+ M5 r5 x5 Y+ o" B% w4 H4 ebcw_stack_restore()6 D3 b9 b; Q: Z: q0 x( H
These functions are a possible implementation of the specs when
; G) D* r& ]* P2 O' D6 e) q/ {3 q9 {) |they say "backup/restore a value".: _: v, E% ]5 F
Yet, it looks like you had exactly the same idea implementing this
' B% K* d- [' y* u+ [" sgeneric description that I had.& J0 t) G9 D; p3 y
5 U0 h  L% v( C8 b0 k) z" o
bcw_set_opmode()7 P# R( \& r2 d+ q/ Q
This function does not appear in the specifications./ ]+ N1 y8 K2 g" U& B
I think Jiri Benc wrote it initially (and gave it its name) and
2 O* }- u6 T7 }7 I. k/ N- AI extended it.
; V: I1 n# e1 G0 I
- R9 {& i7 B4 w1 W) kbcw_leds_switch_all(). O' U2 @, l' Q- @. q3 U9 F
is not in the specs, but a pure implementation detail of bcm43xx.2 Y9 K$ V  q8 F2 P9 F7 W7 D2 F
) _/ r. N2 q* @- x5 o7 v# a
bcw_sprom_read()8 [7 x- G$ l  c# \: P
This is obviously copied. Even the error message string is similiar.6 r, V: I* D) M8 r
# v9 Y. J$ U( D3 d* x. z
bcw_phy_calc_loopback_gain()
% @2 S7 H! U1 m6 z3 a* nI think it's no coincidence that you also decided to name the backup
) Q: x0 a+ ?, u& Q9 U& Xvariables like
# m( [+ G( N% b7 a7 M* q( t+ a, N        uint16_t backup_phy[15];- F( T; L+ u9 N
        uint16_t backup_radio[3];
' u5 Z7 Q4 s' N        uint16_t backup_bband;
8 I0 u) V8 p7 _$ M7 D0 n' i2 e# G7 C- a5 K  R/ h' a  P- T8 h
bcw_phy_init_pctl()
- k7 E* b! s$ M% ^4 X- J' k        uint16_t saved_batt = 0, saved_ratt = 0, saved_txctl1 = 0;
) w9 I0 C% s  T; l: [* Z        int must_reset_txpower = 0;: I6 c' ]0 m+ B5 m4 g( P* C" h
2 K7 j* O7 a8 f6 P8 F
bcw_phy_xmitpower()" a- T( n' g  c+ s! r! c
Attenuation adjustment algorithms (while loops).2 Y5 u8 D$ B, r& Y" v/ @
  _6 H' H; v& u
bcw_phy_lo_g_state()# v4 j" O- I. c) l8 o0 T* Z5 `) }2 i- f
This exactly matches bcm43xx, although the specs only have an abstract
+ f" r. F, {* \4 Y5 s/ Idescription and diagram of the state machine.. D8 j; e6 W4 b2 o! t/ u* f

9 B7 t& Q- E8 V9 _5 W7 ~bcw_phy_lo_g_deviation_subval()
" X8 y! _4 m) G- R/ v4 W; X7 f/* XXX bcm43xx_voluntary_preempt() ? */
5 |* M1 ^9 N( J( H" s3 UNice comment there.
/ u6 I" }9 a$ {2 J4 c( W2 K0 jYou might want to grep bcw for the string "bcm43xx"9 v, F" j. X" m: q( g9 |- n% R+ \
and you will find more of them.
( U3 P+ M# x3 ^6 t
& \/ ^* w/ x. R9 E) ?. D5 [& v* W& m! D1 I7 D0 j! b
... and all the rest." g/ D  Y/ S! v) i! a8 m/ \: t

7 {* O: ?2 ?$ Y  f! ^# H' M! [
2 t5 H7 u2 ]. O; z( TWe'd like to have this issue resolved.
( |* @  n/ }5 DIn general we are not against having a free (and BSD licensed) driver
! d4 u3 B9 j1 M! x; e* uin the BSD operating system. But you _have_ to cooperate with us if you'd7 D' V" ~+ `( l& E. L
like to take our code and relicense it under BSD license. We intentionally, X8 f( ?. f. ~% K
put the code under GPL license. We did _not_ do this, because "everybody- Q( d  z" T1 h+ t
does this". We did this, among other reasons, because we
3 Z  N6 a9 ?6 X3 U[citing Michael, Mon, 26 Dec 2005 13:03:44 +0100]
1 z, d4 Q0 C' L' q. @8 d1 f"don't think we should allow proprietary vendors to take our code6 U5 O( {6 N8 ^; X6 _9 u
and close it again."9 ]" `- ~2 S8 ~# F# i0 K, k9 H

% N2 _5 j/ P) H" a! g! w. {' g: H[citing Michael, Date unknown]" [& b* q2 z" |( V! a* c9 l# {
"What if Broadcom decides to take our LO measure state machine and
. z, D. [- `: M- k' Vput it into the original driver? (The Rev Engineers told me they have/ N5 Y9 ~, |! U9 J
a very different weird solution for this in their code).
3 R7 F, Y/ C( a% R) }6 |) _I really don't want to see this happen."
: R9 |. [' o# ]1 I
5 U( P# y+ o, x% A% O+ AWe'd like to offer you to start cooperating with us.
5 D3 M- b" a) m+ F6 QWe respect you and your Copyright. You should also do so on our work.0 U; R2 Q6 y) T" Z/ G
1 R3 w4 S0 v3 u1 f, f: p8 ]: `
We would not be opposed to relicensing parts of our code under the BSD
: c) d, [2 [' wlicense on an explicit case-by-case base.
  ]4 l/ Y: j$ @8 r# n+ sSo if you ask "May I use this and that function" and if I own the
$ n6 p" I& b: d' @" rCopyright on that particular function, I will approve or deny your request.
6 k, q. y5 \5 ?. Z/ U7 qOther Copyright holders of the bcm43xx code might act the same way.  W5 m. S  L! I% i3 v

+ E  V6 i  I2 t2 a( N7 T, KWe're not out for blood, just for a fair resolution.
$ J5 y. o, E6 C8 A' oWe'd like you to start contacting us to resolve the issue now.
& d6 m4 _+ u' n, D, @( K( I% B4 x
) U9 ^" q1 z3 R+ YHave a nice day.
% q$ M" p+ X- t# }- k$ V$ @7 ~: B) x
! j  L9 K& u. y- H-- 3 v/ C" F7 ?) V) Q7 J
Greetings Michael.
; A2 i/ y/ h; v* b* E, U, t' n) n-/ K( W% j* Z# r" L9 ], t; M" g3 ~. H
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
) c; _. p6 x& ]+ q, qthe body of a message to majordomo@vger.kernel.org
  _1 d/ T' C9 N% oMore 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

发新话题