List third party files in cpukit and testsuites

Gedare Bloom gedare at rtems.org
Fri Nov 4 16:57:22 UTC 2022


On Mon, Apr 11, 2022 at 8:58 AM Joel Sherrill <joel at rtems.org> wrote:
>
>
>
> On Mon, Apr 11, 2022 at 9:46 AM Gedare Bloom <gedare at rtems.org> wrote:
>>
>> On Fri, Apr 8, 2022 at 12:35 PM Ryan Long <ryan.long at oarcorp.com> wrote:
>> >
>> > This is the set of files in the source code that are all third party.
>> > This means they should not be re-licensed or re-formatted.
>> >
>> > If anything on this list is wrong, or if I missed some, please comment.
>> >
>> > Thanks,
>> >
>> > Ryan
>> >
>> > David Gibson, IBM Corporation
>> > cpukit/dtc/libfdt/fdt.c
>> > cpukit/dtc/libfdt/fdt_empty_tree.c
>> > cpukit/dtc/libfdt/fdt_ro.c
>> > cpukit/dtc/libfdt/fdt_rw.c
>> > cpukit/dtc/libfdt/fdt_strerror.c
>> > cpukit/dtc/libfdt/fdt_sw.c
>> > cpukit/dtc/libfdt/fdt_wip.c
>> > cpukit/dtc/libfdt/libfdt_internal.h
>> > cpukit/include/fdt.h
>> > cpukit/include/libfdt.h
>> > cpukit/include/libfdt_env.h
>> >
>> ok, the dtc/libfdt is 3rd party. It should be specified as cpukit/dtc
>>
>> > The Regents of the University of California
>> > cpukit/include/arpa/ftp.h
>> > cpukit/include/machine/_kernel_in.h
>> > cpukit/include/machine/_kernel_mman.h
>> > .cpukit/libmisc/shell/dd-args.c
>> > cpukit/libmisc/shell/dd-conv.c
>> > cpukit/libmisc/shell/dd-conv_tab.c
>> > cpukit/libmisc/shell/dd-misc.c
>> > cpukit/libmisc/shell/dd-position.c
>> > cpukit/libmisc/shell/dd.h
>> > cpukit/libmisc/shell/err.c
>> > cpukit/libmisc/shell/err.h
>> > cpukit/libmisc/shell/errx.c
>> > cpukit/libmisc/shell/extern-cp.h
>> > cpukit/libmisc/shell/extern-dd.h
>> > cpukit/libmisc/shell/extern-ls.h
>> > cpukit/libmisc/shell/filemode.c
>> > cpukit/libmisc/shell/fts.c
>> > cpukit/libmisc/shell/fts.h
>> > cpukit/libmisc/shell/hexdump-conv.c
>> > cpukit/libmisc/shell/hexdump-display.c
>> > cpukit/libmisc/shell/hexdump-odsyntax.c
>> > cpukit/libmisc/shell/hexdump-parse.c
>> > cpukit/libmisc/shell/hexdump.h
>> > cpukit/libmisc/shell/hexsyntax.c
>> > cpukit/libmisc/shell/main_cp.c
>> > cpukit/libmisc/shell/main_dd.c
>> > cpukit/libmisc/shell/main_echo.c
>> > cpukit/libmisc/shell/main_hexdump.c
>> > cpukit/libmisc/shell/main_mv.c
>> > cpukit/libmisc/shell/main_ln.c
>> > cpukit/libmisc/shell/main_ls.c
>> > cpukit/libmisc/shell/main_rm.c
>> > cpukit/libmisc/shell/pathnames-mv.h
>> > cpukit/libmisc/shell/print-ls.c
>> > cpukit/libmisc/shell/pwcache.c
>> > cpukit/libmisc/shell/sysexits.h
>> > cpukit/libmisc/shell/utils-cp.c
>> > cpukit/libmisc/shell/utils-ls.c
>> > cpukit/libmisc/shell/verr.c
>> > cpukit/libmisc/shell/verrx.c
>> > cpukit/libmisc/shell/vis.c
>> > cpukit/libmisc/shell/vis.h
>> > cpukit/libmisc/shell/vwarn.c
>> > cpukit/libmisc/shell/vwarnx.c
>> > cpukit/libmisc/shell/warn.c
>> > cpukit/libmisc/shell/warnx.c
>> > cpukit/score/src/iovprintf.c
>> > cpukit/libcsupport/src/cfmakeraw.c
>> > cpukit/libcsupport/src/cfmakesane.c
>> > /include/machine/_kernel_uio.h
>> >
>> I've had this question in the past about whether or not 'shell' is 3rd
>> party. I never had a great answer. The question about not touching 3rd
>> party sources is more about whether or not there is someone upstream
>> that maintains them. If there's not any update path, then we
>> effectively own the code now (clone and own).
>
>
> A lot (68/104) files in shell have RTEMS GPL so most of the code is
> really ours. There often is enough hacking to argue clone and own on
> some but it is still possible to compare and update. I think Ryan did a
> fair bit of this and reporting upstream when addressing Coverity issues.
>
>>
>> That said, everything that is copyrighted by The Regents of the
>> University of California can be licensed to 3-BSD.
>
>
> I politely ask you to make this change. You understand the why
> and how.
>>
>>
>> Meanwhile, this list has me thinking that you should also use grep
>> "\$FreeBSD" to find source files imported from there. Ditto for
>> NetBSD. I think it makes more sense to track 3rd party software based
>> on where it comes from rather than based on the contributor/copyright
>> holder.
>
>
> That was a manual flag for third party but I don't think it ever got to
> a grep.
>>
>>
>> > Mark Murray
>> > cpukit/include/crypt.h
>> For example, this would be better identified as being part of the
>> NetBSD libcrypt
>
>
> Where it came from is just for discussion now. Ultimately we only
> care that it is third party.

Circling back to this, there are several source files especially
contributed by EB/Sebastian that are oriented toward *BSD code bases.
I believe these files should be treated as "third party" within
rtems.git as well, since we would not want to reformat them, and
without sleuthing I don't know if they exist in upstream or not.

>>
>>
>> >
>> > NetBSD
>> > cpukit/include/dlfcn.h
>> > cpukit/include/link.h
>> > cpukit/include/link_elf.h
>> > cpukit/libmisc/shell/cmp-ls.c
>> > cpukit/libdl/rtl-mdreloc-arm.c
>> > cpukit/libdl/rtl-mdreloc-i386.c
>> > cpukit/libdl/rtl-mdreloc-m68k.c
>> > cpukit/libdl/rtl-mdreloc-riscv.c
>> > cpukit/libdl/rtl-mdreloc-sparc.c
>> > cpukit/libmisc/shell/main_mknod.c
>> > cpukit/libmisc/shell/mknod-pack_dev.c
>> > cpukit/libmisc/shell/mknod-pack_dev.h
>> > cpukit/score/cpu/i386/include/machine/elf_machdep.h
>> > cpukit/score/cpu/m68k/include/machine/elf_machdep.h
>> > cpukit/score/cpu/mips/include/machine/elf_machdep.h
>> > cpukit/score/cpu/nios2/include/machine/elf_machdep.h
>> > cpukit/score/cpu/sparc/include/machine/elf_machdep.h
>> > cpukit/score/cpu/x86_64/include/machine/elf_machdep.h
>> > cpukit/include/sys/cdefs_elf.h
>> > cpukit/include/sys/exec_elf.h
>> > cpukit/telnetd/des.c
>> >
>> > WIDE Project
>> > cpukit/include/machine/_kernel_in6.h
>> >
>> > RSA Data Security, Inc.
>> > cpukit/include/md4.h
>> > cpukit/include/md5.h
>> >
>> > Sergey Lyubka
>> > cpukit/include/mghttpd/mongoose.h
>> > cpukit/mghttpd/mongoose.c
>> >
>> > FreeBSD
>> > cpukit/include/pci/pcireg.h
>> > cpukit/libstdthreads/call_once.c
>> > cpukit/libstdthreads/thrd.c
>> > cpukit/libstdthreads/tss.c
>> > cpukit/include/sys/endian.h
>> > cpukit/include/sys/event.h
>> > cpukit/include/sys/poll.h
>> > cpukit/include/sys/priority.h
>> > cpukit/include/sys/timepps.h
>> > cpukit/include/sys/timetc.h
>> > cpukit/include/sys/timex.h
>> > cpukit/libcrypt/crypt-sha256.c
>> > cpukit/libcrypt/crypt-sha512.c
>> > cpukit/score/src/kern_ntptime.c
>> > cpukit/score/src/kern_tc.c
>> > cpukit/include/sha256.h
>> > cpukit/include/sha512.h
>> > cpukit/include/sys/_ffcounter.h
>> > cpukit/include/sys/timeffc.h
>> >
>> > Public Software Group
>> > cpukit/include/utf8proc/utf8proc.h
>> > cpukit/libmisc/utf8proc/utf8proc.c
>> >
>> > Poul-Henning Kamp
>> > cpukit/libcrypt/crypt-md5.c
>> >
>> ditto.
>>
>> > University of California
>> > cpukit/libcrypt/misc.c
>> > testsuites/samples/paranoia/paranoia.c
>> >
>> I'm guessing this was supposed to be the Regents of ... (I don't think
>> there is such a thing as "University of California" as an entity)
>>
>> > Ariya Hidayat <ariya at kde.org>
>> > cpukit/libdl/fastlz.c
>> > cpukit/libdl/fastlz.h
>> >
>> > Kevin Kirspel <kirspkt at gmail.com>
>> > cpukit/libfs/src/defaults/default_mmap.c
>> >
>> Kevin lurks around here. That said, this file is probably not even
>> copyrightable software. That's a separate point altogether though.
>
>
> This is RTEMS code. I mentioned that in the review.
>
> Ryan .. make sure Kevin is on the track down for permission list.
>>
>>
>> > Red Hat
>> > cpukit/libfs/src/jffs2/include/asm/atomic.h
>> > cpukit/libfs/src/jffs2/include/asm/bug.h
>> > cpukit/libfs/src/jffs2/include/asm/page.h
>> > cpukit/libfs/src/jffs2/include/cyg/crc/crc.h
>> > cpukit/libfs/src/jffs2/include/cyg/infra/cyg_type.h
>> > cpukit/libfs/src/jffs2/include/linux/compiler.h
>> > cpukit/libfs/src/jffs2/include/linux/completion.h
>> > cpukit/libfs/src/jffs2/include/linux/config.h
>> > cpukit/libfs/src/jffs2/include/linux/crc32.h
>> > cpukit/libfs/src/jffs2/include/linux/errno.h
>> > cpukit/libfs/src/jffs2/include/linux/fs.h
>> > cpukit/libfs/src/jffs2/include/linux/jffs2.h
>> > cpukit/libfs/src/jffs2/include/linux/kernel.h
>> > cpukit/libfs/src/jffs2/include/linux/list.h
>> > cpukit/libfs/src/jffs2/include/linux/magic.h
>> > cpukit/libfs/src/jffs2/include/linux/mm.h
>> > cpukit/libfs/src/jffs2/include/linux/mtd/compatmac.h
>> > cpukit/libfs/src/jffs2/include/linux/mtd/mtd.h
>> > cpukit/libfs/src/jffs2/include/linux/mutex.h
>> > cpukit/libfs/src/jffs2/include/linux/pagemap.h
>> > cpukit/libfs/src/jffs2/include/linux/posix_acl.h
>> > cpukit/libfs/src/jffs2/include/linux/rwsem.h
>> > cpukit/libfs/src/jffs2/include/linux/sched.h
>> > cpukit/libfs/src/jffs2/include/linux/sched/signal.h
>> > cpukit/libfs/src/jffs2/include/linux/slab.h
>> > cpukit/libfs/src/jffs2/include/linux/spinlock.h
>> > cpukit/libfs/src/jffs2/include/linux/stat.h
>> > cpukit/libfs/src/jffs2/include/linux/string.h
>> > cpukit/libfs/src/jffs2/include/linux/timer.h
>> > cpukit/libfs/src/jffs2/include/linux/types.h
>> > cpukit/libfs/src/jffs2/include/linux/uio.h
>> > cpukit/libfs/src/jffs2/include/linux/version.h
>> > cpukit/libfs/src/jffs2/include/linux/vmalloc.h
>> > cpukit/libfs/src/jffs2/include/linux/wait.h
>> > cpukit/libfs/src/jffs2/include/linux/workqueue.h
>> > cpukit/libfs/src/jffs2/include/linux/xattr.h
>> > cpukit/libfs/src/jffs2/include/linux/zlib.h
>> > cpukit/libfs/src/jffs2/include/linux/zutil.h
>> > cpukit/libfs/src/jffs2/src/acl.h
>> > cpukit/libfs/src/jffs2/src/build.c
>> > cpukit/libfs/src/jffs2/src/compat-crc32.c
>> > cpukit/libfs/src/jffs2/src/compr.h
>> > cpukit/libfs/src/jffs2/src/compr_rtime.c
>> > cpukit/libfs/src/jffs2/src/compr_rubin.c
>> > cpukit/libfs/src/jffs2/src/compr_zlib.c
>> > cpukit/libfs/src/jffs2/src/debug.c
>> > cpukit/libfs/src/jffs2/src/debug.h
>> > cpukit/libfs/src/jffs2/src/erase.c
>> > cpukit/libfs/src/jffs2/src/flashio.c
>> > cpukit/libfs/src/jffs2/src/gc.c
>> > cpukit/libfs/src/jffs2/src/jffs2_fs_i.h
>> > cpukit/libfs/src/jffs2/src/jffs2_fs_sb.h
>> > cpukit/libfs/src/jffs2/src/malloc-rtems.c
>> > cpukit/libfs/src/jffs2/src/nodelist.c
>> > cpukit/libfs/src/jffs2/src/nodelist.h
>> > cpukit/libfs/src/jffs2/src/nodemgmt.c
>> > cpukit/libfs/src/jffs2/src/read.c
>> > cpukit/libfs/src/jffs2/src/readinode.c
>> > cpukit/libfs/src/jffs2/src/rtems-jffs2-config.h
>> > cpukit/libfs/src/jffs2/src/scan.c
>> > cpukit/libfs/src/jffs2/src/summary.h
>> > cpukit/libfs/src/jffs2/src/write.c
>> > cpukit/libfs/src/jffs2/src/xattr.h
>> >
>> yeah JFFS2 as a directory is exempt
>
>
> Except for at least one file with RTEMS in the name.
>>
>>
>> > Gred Haerr <greg at censoft.com>
>> > cpukit/libmisc/mouse/mouse_parser.c
>> >
>> I'm pretty sure we own this now. Also, I think it can be
>> re/dual-licensed, but that's a separate point to discuss as well.
>>
>> > Michael Ringgaard
>> > cpukit/libmisc/shell/main_edit.c
>> >
>> > Unicode
>> > cpukit/libmisc/utf8proc/utf8proc_data.c
>> >
>> > Theodore Ts'o
>> > cpukit/libmisc/uuid/clear.c
>> > cpukit/libmisc/uuid/compare.c
>> > cpukit/libmisc/uuid/copy.c
>> > cpukit/libmisc/uuid/gen_uuid.c
>> > cpukit/libmisc/uuid/isnull.c
>> > cpukit/libmisc/uuid/pack.c
>> > cpukit/libmisc/uuid/parse.c
>> > cpukit/libmisc/uuid/unpack.c
>> > cpukit/libmisc/uuid/unparse.c
>> > cpukit/libmisc/uuid/uuidP.h
>> > cpukit/libmisc/uuid/uuid_time.c
>> > cpukit/libmisc/uuid/uuidd.h
>> > cpukit/include/uuid/uuid.h
>> >
>> ok to UUID
>>
>> > Lasse Collin <lasse.collin at tukaani.org>
>> > cpukit/include/xz.h
>> > cpukit/libmisc/xz/xz_config.h
>> > cpukit/libmisc/xz/xz_crc32.c
>> > cpukit/libmisc/xz/xz_crc64.c
>> > cpukit/libmisc/xz/xz_dec_lzma2.c
>> > cpukit/libmisc/xz/xz_dec_stream.c
>> > cpukit/libmisc/xz/xz_lzma2.h
>> > cpukit/libmisc/xz/xz_private.h
>> > cpukit/libmisc/xz/xz_stream.h
>> >
>> ok to XZ
>>
>> > Integrated Device Technology, Inc
>> > cpukit/score/cpu/mips/include/rtems/mips/idtcpu.h
>> > cpukit/score/cpu/mips/include/rtems/mips/iregdef.h
>> >
>> > Los Alamos National Security, LLC
>> > cpukit/score/cpu/nios2/include/rtems/score/nios2-count-zeros.h
>> >
>> This is from Jeff Hill. We should see if he is allowed to get
>> relicensing permission.
>
>
> OK. So not third party and Ryan can add it to the "to track down" list.
>>
>>
>> > Mark Adler, Jean-loup Gailly
>> > cpukit/zlib/adler32.c
>> > cpukit/zlib/crc32.c
>> > cpukit/zlib/gzclose.c
>> > cpukit/zlib/gzguts.h
>> > cpukit/zlib/gzlib.c
>> > cpukit/zlib/gzread.c
>> > cpukit/zlib/gzwrite.c
>> > cpukit/zlib/infback.c
>> > cpukit/zlib/inffast.c
>> > cpukit/zlib/inffast.h
>> > cpukit/zlib/inflate.c
>> > cpukit/zlib/inflate.h
>> > cpukit/zlib/inftrees.c
>> > cpukit/zlib/inftrees.h
>> > cpukit/zlib/compress.c
>> > cpukit/zlib/deflate.c
>> > cpukit/zlib/deflate.h
>> > cpukit/zlib/trees.c
>> > cpukit/zlib/uncompr.c
>> > cpukit/zlib/zutil.c
>> > cpukit/zlib/zutil.h
>> > cpukit/include/zconf.h
>> > cpukit/include/zlib.h
>> > cpukit/zlib/crc32.h
>> > cpukit/zlib/inffixed.h
>> > cpukit/zlib/trees.h
>> >
>> ok to zlib
>>
>> > Reinhold P. Weicker
>> > testsuites/benchmarks/dhrystone/dhry.h
>> > testsuites/benchmarks/dhrystone/dhry_1.c
>> > testsuites/benchmarks/dhrystone/dhry_2.c
>> > testsuites/benchmarks/linpack/linpack-pc.c
>> > testsuites/benchmarks/whetstone/whetstone.c
>> >
>> ok to select benchmarks.
>>
>> > _______________________________________________
>> > devel mailing list
>> > devel at rtems.org
>> > http://lists.rtems.org/mailman/listinfo/devel
>> _______________________________________________
>> devel mailing list
>> devel at rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list