Tuesday, May 19, 2015

Business and Legal Aspects of Free and Open Source Software Final

So here we are at the end of it all. These were the questions that we were required to answer for the final, so here we go!



  1. When does code you create become copyright?
    As soon as it is saved
  2. If you could wave a magic wand and open source any any piece of proprietary software, what would you choose?
    Microsoft Word
  3. If the software was open sourced, would it's company remain stable? How would it make money?
    It would probably be able to maintain itself through support
  4. What do you think the most beneficial thing to learn in class was?
    I learned about trademarking, which was something that I had never really thought about before and didn't really understand at all when looking back at it.
  5. Explain some of the motivation a company may have to open source software
    It encourages the community to communicate and help fix some of the issues that the developer may have with their release that they may be unaware of. It also helps to illustrate the trustworthiness of the company by showing what it is doing to the public more than they otherwise might.
  6. Are there any changes that you suggest making to the profile template? What parts do you find most interesting or important?
    Honestly I found the Community Architecture and Technology sections to universally be a problem to fill in for my profiles. They are too narrow in focus and would often have no real answer without going outside the original scope of the profile. Rationale is also pretty moot because it has no influence on the the actual information presented, outside maybe showing bias in the individual writers.
  7. If there could have spent more time on any topic, which would you have liked to cover in more depth?
    I would have like more about trademarks and licensing since it was only briefly covered.
  8. Why are you using *MIT* as the license for your open source project?
    I don't really have an active open project, so that leaves the ones that I did for HFOSS and ADVFOSS, which MIT seemed like the best fit at the time.
  9. If you would suggest a video to be watched as part of this course, what would it be?
    Well aside from Hackers, because it is the agreed upon answer, I don't really have any sort of referential material that would be particularly useful for the class as I have very limited voice when it comes to this.

Reflections on being a Teaching Assistant - Final Thoughts for the Year

I have been a Teaching Assistant for 3 semesters now. It has been an interesting experience and will continue to be one when I get back in fall. The only question that remains is what have I really learned from my experiences this year. First and foremost, is really experiencing that everyone gets things at different speeds. I had several students that would just immediately pick up a concept and others that would struggle with it for a whole week. I saw several students withdraw from the course and wonder if I could have done more for them or if the lack of outreach from them was a simple enough sign. I just hope that I am providing a good enough example for the students I am helping to enter my field and I hope that they will continue to prosper as time goes on.

The Bunny Theory of Code

This article brings up an interesting idea.

Once we write code, it tends to take on a life all of its own. As it gets passed around, it only gets stranger and stranger until it gets put down for the last time. Hopefully in a condition that will allow it to still function. This goes doubly when it is code that is being worked on by multiple users, all whom may only be tangentially able to communicate. Code evolves in strange ways to fit the needs of those that are using it and there is no way to really keep track of every little bit of information that is getting tossed in without extensive oversight. All it takes is a line or two here or there and the entire quality starts to go down for a project, hopefully not to the extent that it causes serious errors.

Reflections on being a Teaching Assistant - Finals

This week was finals week and it has been rather hectic for me. I have two take home exams that I need to do in addition to a presentation to give. The biggest thing though was the fact that I had to go to the final for the class that I am the assistant for. The exam was at 8:00 AM on Monday. That is so bad compared to what I normally have to do. Either way, Finals are strange when you aren't actually the one that has to take them. Just watching everyone furiously strike at the keyboard, hoping they can figure out the problem in the time they have left. I think the most frustrating thing is that there really isn't any way to help them if they get stuck. I have watched students almost completely break down before the exam.

The other big part that makes attending an exam that you really aren't a part of awkward is the fact that there really isn't anything to do. Partly because you can't really create a distraction for the students and also because you have to be ready for if they have a question that they need answering, that you can actually answer. It is just two hours of standing there waiting for something to happen. At the very least, taking a look at the exam that the professor prepared, it didn't seem too difficult, which was good. Overall, I am glad to be done with it for a while anyway.

Study - Why Good Developers Write Bad Code

Interesting thought experiment, if you are good at something, why do you sometimes screw up? Sometimes it is because of pressure, sometimes it is because you weren't as careful as you should have been because it is all old hat. Sometimes you just don't really care. Well, a recent study has found something similar with Software companies and organizational structures within them.

Often times when working in industry, projects will very often change scope beyond what we initially think that they will be. My professor always says that no one is good at projecting how much work is actually required or how long something will take, at best, you can get a rough estimate. This is telling because so often it will be true and be a major cause of stress on a given project as management can be keen to forget what is going on behind the scenes and how much can is being put in.

The study, which can be found here, is quite good and shows the kind of nuances that can often be overlooked when it comes to how much work actually goes into software development. This can only get worse when you apply it over to FOSS just due to the nature of contributing to a project and how there isn't really a way to guarantee anything of the people that you are working with.

Reflections on being a Teaching Assistant - Class Work

I always find that my time inside the class room is always spent awkwardly. The teacher that I am the assistant to is very good at what he does, but it leave me with very little to do for the first portion of the class. During the lecture, I don't have much to do because the slide deck is pretty short overall, and afterward he goes into examples. I don't really have much to do until it is time for the ICE. It is a little disheartening to sit around for the first half of class and not doing anything of real value. I do enjoy the time after though where I can help the students. It is always surprising to me just how much these people know. There always seems to be an even split between the students with a strong background and those that came in knowing nothing. Never really any in the middle though...

The most interesting thing to me is the amount of times where a student will create an issue that just explodes the program. Those are fun to try and figure out. It is also pretty fun to go up to a student who is having an issue and just point to one portion of code that is the issue. In either case, I try to make sure the student is the one to figure something out as opposed to just straight up telling them the answer. I feel like it does more to help them learn, though I'm pretty sure that it can also make look like I don't really know myself. Oh well, take the bad with the good I suppose.

News - Stripe in Asia

Stripe is a relatively new method for online payment in the same vein as Paypal. It has made a decent boom over in the Silicon Valley for being fairly simple to use with a nice interface. I personally use Paypal, though it is extremely infrequent, and I will say I find the whole process to be fairly annoying. Bad as it may be, I tend to just use my card to pay for things. I know, I know, for shame. Either way, it is always good to see more competition springing up in a market, though I do have to wonder just how many of these services there are that are essentially money middlemen. It seems so strange to me to be hearing about all of these different services springing up.

Aside from the interface, Stripe has partnered with Sumitomo Mitsui Credit to help bolster their user base as they are essentially fresh blood over there. It is a pretty bold move and will hopefully work out well. It will remain to be seen if it can generate the buzz it needs to stay strong in the industry, but best of luck.