Scientist: How to attribute free software contributions in journal article, proceeding and monograph

Scientists, academicians and researchers are a group of users that benefits greatly from Free and Open Source Software (FOSS / FLOSS). Most them would use free software not only to help in preparing graph and documentation, but also as the main tool in their investigation.

Although it is not explicitly required by the software license or by software authors, the role of free software should be appropriately attributed by academicians and scientists who used them in their investigations as it would not only acknowledge the contribution of free software authors (some of them are hardworking academicians or scientists themselves), but this will also done to fulfill the academic accountability on the researchers part.

Examples on how to attribute Free Software use in Academic Paper
1. Researchers/Academician may cite the software URL and the software author in the “Literature Review/Background”, “Methods”or “Acknowledgement section” in the articles.

2. The citation should include the software release number and the URL to download the software in order to help other researchers to replicate the work (publishing paper is all about guiding others to replicate the investigation)

3. If free software being used as the main tool in the investigation, it would be helpful if the academician/researcher could explain why this particular Free Software is chosen for the research, etc in their journal article or academic papers.

For more examples: Visit the Debian Free Software Guideline, there’s a section about attributing free software in scientific and academic papers.

Give credit to Free Software! Please share this post
If you are an academician or researcher, then please share this post because it will increase awareness about the need to properly attribute free software tools, software author and their role in scientific community.

Thanks!

Rant: About Computer Sciences/IT Classroom Assignments

When I was an undergraduate (i took Computer System & data communication major), one of the assignment requirement was to design an SIC/XE (link: http://tinyurl.com/3fyxjc8) simulator machine. Basically I’ve to understand how a microcomputer works by studying the SIC machine architecture, implementing the register understanding its opcode, etc.

The final outcome was the SIC/XE simulator written in C language which I was able to come out in a few days of spending time in front of computer. I compiled it with gcc, and it happily runs all of my opcodes and instructions.

In another assignment, I (and the rest of the class) are required to study BNF about a quarter of the semester, and we had to come up with an assembler for that particular simulator. Basically we have to create a fully working/executable assembler that spits out object code to be executed with the SIC/XE Simulator.

In short, we have to built a working computer simulator, and an assembler to enables programmer to write a program and executes it on that particular simulator in a course of one semester, and to me.. it is still a lightweight.

oh yeah, in another assignment I was tasked to write my own substitution/transposition cipher and integrates it with Java JCE and its cracker based on differential analysis. of course it only represent only 10% of the whole marks of the course.

And when we spoke about multimedia, we really mean about drawing a straight line in 3-d space by using spatial drawing algorithm and how to use OpenGL (in C) effectively to generate a computer representation of whatever object that the lecturer had just shown us. and the object must be interactive and must be accompanied with sound effect (thanks to libSDL – http://libsdl.org/ ).

Knowledge of actual physics and linear algebra, advanced calculus and numerical methods are a must, because you won’t be able to create a body in 3D space without those math shits. advance calculus helps you with handling the volume of the model. linear algebra, well.. helps you to get the model aligned within 3d space, vector and physics helps you to get around the environment within opengl without looking like a complete idiot.because you need to code stuffs in lines of C first without the benefits of seeing the output in a WYSIWYG environment until the point of compilation and running the actual code.

Kids nowadays grumble when they got an assignment that *only* requires them to use Java/PHP language to create a part of login system which implements basic (built-in!) hashing, which to me is completely doable under 15minutes with the benefit of the internet and free codes lying around.

Moreover there are several cases of Final Year Degree Project (FYP) that only requires a student to put together a mobile based web registration system using XHTML (and probably with PHP as the back-end) — they complained that the task was damn “too hard”….. which in my opinion is not suiteable at all to be a degree-level FYP (and it can be completely done under one week!)

Well, back in my days, those FYP examples aren’t even qualified for a class project that worth more than 5% of the semesters’ grade and those who aren’t capable in interpreting TCP/UDP packets or those who are not been able to do network programming will be having hard time graduating from the degree program (duh, its about Data Communication!)

Is the standards going down?