Open Source Software
Скачать 1.28 Mb.
|
Students may learn how to join projects and contribute from an early age or stage in their education Students can more easily learn about how things really work as compared to using closed source operating systems and applications Applications are flashier and have better integration with social media platforms than do proprietary ones Making things more difficult to learn at first is giving more real world experience As the world's IT infrastructure becomes more and more OSS-based, students will be better prepared to enter the work force especially as developers 13) Developers working in OSS will: Will have to spend a lot of time undergoing unnecessary critical review of their code even though they know it is perfect Will often find it easier to get good jobs because their work will be more open to inspection Have to spend a lot of useless time cleaning uo their code since more eyeballs will see it Will often find it harder to get good jobs because employers will not be sure what parts of the project were contributed by the developer candidate 14) Which of the following are examples of successful open source projects? Select all answers that apply. OpenStack ONAP PowerPoint Adobe Photoshop Hyperledger Fabric Kubernetes 15) The git version control system arose from needs of which project: GNU Apache Kubernetes Python The Linux Kernel 16) Which of the following are OSS projects used to construct a graphical user interface (GUI)? Wayland GNOME Microsoft Word KDE X Window System 17) Which of the following are projects emanating from the Free Software Foundation? glibc gcc gdb Apache bash 18) Which of the following are widespread fully OSS projects (Select all that apply): Abode Photoshop None of the above 19) Which of the following document preparation systems are OSS projects (Select all that apply): Microsoft Word TeX,LaTex and related versions Notepad LibreOffice WordStar 20) You can immediately start contributing to an open source project. No prior research, knowledge or preparation is needed. True or False? True False 21) Most open source projects succeed. True or False? True False 22) Community members with offensive behavior will not be removed from an open source project. True False 23) When first getting involved in an OSS project, you should (Select all answers that apply): Consider what it is you would like to work on, either because it is needed by you, or it just interests you Start by posting messages on the appropriate mailing lists, suggesting thing you would like to see, pointing out the weak aspects of the project, etc. Start contributing code immediately and learn the workflow through doing Start by helping test and report results 24) When working on an OSS project, the best strategy is to: Submit changes one at a time in a sequential manner, even if the full change will not do much until the entire patch series is incorporated Save up changes until you can submit multiple changes in one large patch,rather than bother maintainers often 25) When there is someone in the project community that gets abusive or just difficult to deal with, you should (Select all answers that apply): Immediately respond in kind and slap them down Let established community members moderate the conflict Actually read what they are saying; even if phrased in a nasty manner, the points might need addressing, and you can respond to them calmly Find out what their demographical characteristics are (race,gender,nationality, etc.) and use that to belittle them 26) You have worked hard on implementing a new feature for and OSS project and submitted your work. A senior maintainer liked you ideas, but ignored your implementation and substituted their own new one to the same end. You should: Demand your implementation be the one used (after all,it was your idea!), but respectfully consider any less total changes or suggestions If the other implementation is successful at achieving its purpose, you should accept the result gratefully (after registering you displeasure that rather than reviewing and modifying you work, it was abandoned), and contribute to improving the new implementation as needed Announce you are leaving the project, it is not worth you time if your work is disrespected, and post on social media a detailed expsoe of how disputes are badly handled in the project, and warn people to stay away 27) On a project mailing list, some inserts an irrelevant politica, or philosophical comment into an otherwise technical discussion and this is at least mildly offensive to you. A good and proper response could be (Select all that apply): Ignore the comment and just answer the technical issues Politely ask the post to not make such comments. If they counter with more and stronger statements, ask any discussion moderators to quiet the issue offline if needed Aggressively counter the comment and begin a discussion thread about the side topic to increase everyone's sensitivity to the issue Write an entry on the episode on your blog and give detailed information on the offender, so people can tell them what they think about their views, and be warned not to work them on other projects. 28) Which of the following are some of the questions you have to consider when testing to ensure all pieces of a distributed development project work as expected? Select all answers that apply. Does the project still compile? Do changes that overlap with each other conflict? Can changes that overlap with each other be applied at the same time? Are there good test suites that can be used on representative workloads, to ensure things are working properly? 29) Continuous Integration (Select all answers that apply): Can be costly to set up, as it requires a server and staff and training developers to use properly Minimizes regression bugs, since thorough testing is done at every stage before release (i.e. continuously) Speeds up the development process, as builds and tests are fully automated Can put a strain on developers who have to submit changes constantly Can speed development, as wrong paths can be discovered before they are pursued for a long time 30) What is the correct order of the Continuous Integration process stage? Integration, Delivery and Deployment Deployment, Delivery and Integration Delivery, Integration and Deployment Integration, Deployment and Delivery 31) Which statement is true? You do not need Continuous Integration if you use a revision control system such as Git You do not need a revision control system such as Git if you use Continuous Integration methods Use of Continuous Integration and revision control methods are independent, but are usually employed together 32) The Linux Kernel Continuous Integration Project was initiated by: The Apache Software Foundation The Free Software Foundation The Linux Foundation Linaro FIFA 33) There are many tooling suites used for Continous Integration. The most widely used one is: Jenkins Bamboo Eclipse Travis CI Emacs 34) You can switch to a different license for your project at any time, without difficulty. True or False? True False 35) What are some considerations that go into OSS license selection (Select all answers that apply)? How much you want to charge for buying software on the project How the code will be used (i.e. good or evil) Policy on patents Should all modifications be public (restrictive vs permissive) 36) Which of the following is a "copyleft" license? BSD GPL 37) FUD stands for: Fear,Uncertainty and Doubt Elmer Fud(d) Free Unsupported Development Failure, Unbelievable and Damaged Fitbit, USB and Dirty 38) Select the true statement: If you includes OSS components in your project, you must release the full source for all components OSS and Closed Source Software can co-exist in a product, but careful analysis should be done to make sure proper boundaries are respected and enforced 39) Select the true statement: Use of OSS has no predetermined effect on legal costs. It can lower them, since proper license enforcement can be built-in early, or it can raise them by having more people pick at the code if attribution has been sloppy Use of OSS increases legal costs as compared to closed source, as allcode must be audited carefully 40) Why is good leadership important for the success of an open source project? Select all answers that apply. Moderate conflicts Have an efficient workflow Mentor new contributions Encourage contributors to give their best work 41) An open source project cannot function without trust. True or False? True False 42) A benevolent dictatorship will allow subproject maintainers to make the decisions. True or False? True False 43) In open source projects, failure is more common than success. True or False? True False 44) The abbreviation BDFL stands for: Better Delivery From Licensing Big Data For Linux Bad Drama From Litterers Benevolent Dictator For Life 45) The job of a mentor includes: Teaching contributors how to handle criticism, as well as how to give constructive criticism Finding ways to empower people to give their maximum contribution Knowing when to eject someone from a project because their work is not of high enough quality Training new project contributors in how to submit their work successfully in the right form 46) If a project fails in the sense that it stops moving forward, it is likely because (Select all answers that may apply): Leadership is poor There are not enough developers contributing It is just too hard to start a new project There is insufficient interest in the wider community of developers 47) Which statements is true? A project should have a clear license to begin with. It may possibly make a change later if it really needs to, but that is often non-trivial if there are quite a few contributors A project can start without a clear idea of what license to follow, and it can adopt it later, as needed Most open source projects fail in the sense that they stagnate and fade away. Is this bad? It is not bad. Many seeds are planted and only some bloom, and it is difficult to predict which ones. It is always good to encourage a lot of new ideas and methods, and let them compete until the winners emerge. It is bad. It is a waste of time and effort that could be better spent. 48) In OSS projects, collaboration is a key element. What are some ways that promote healthy collaboration among contributors? Select all answers that apply. Be respectful and open minded Competition between differing approaches Unilateral, top-down communication Divide work fairly among more than one group or individual, and merge late 49) OSS project should explicitly encourage diversity with respect to (Select all answers that apply): Height and weight National origin and language Race Sex and gender identity Weather 50) The majority of OSS projects carry out their discussions in English. Therefore (Select all answers that apply): One should always speak as clearly as possible, and while not being dull, think about the audience and what they will be familiar with Language misunderstandings are unlikely to occur Misunderstandings will only occur between native and non-native English speakers It is fine to often use unexplained idioms and cultural references 51) With respect to criticism, an OSS contributor and reviewer should (Select all answers that apply): Demand someone else review your submission and not answer specifics in any detail Not hold back, it is important to have open and forthright discussion Answer thoughtfully and point out where one agrees or disagrees, where changes are accepted or not. Be very careful to never say someone is wrong, as some cultures find that offensive 52) Some one on an OSS mailing list introduces a political aside and perhaps a preference during a technical discussion. Appropriate responses include (Select all correct answers): Respond immediately with your own view so the issue is not unchallenged if you disagree, or to reinforce the stance if you do Acknowledge the issue but briefly without putting down anyone with differing opinions. Avoid amplifying Make social media posts outside the community to alert them that someone has ignorant views Ignore the point and just address the technical issues as needed. 53) You propose a new way of doing something, or adding a new feature. Another contributor points out this idea was reject previously. You should (Select all answers that apply): Ask whether the need for this feature has grown; the earlier discussion may have been premature Study the previous discussion and see whether it applies, including whether or not differences between your ideas and the old ones were not seen Ask whether or not technical abilities have evolved to the point where something that was not feasible can be done today Forget about it; no one will pay attention to you if you go forward if the other contributor has more history and trust than you do 54) Both public and private repositories on GitHub are free of charge. True or False? True False 55) GitHub and other similar hosting providers do not offer a full GUI interface. True or False? True False 56) Select the correct statement. GitHub: Is maintained by the GNU project (its name starts with "g" is the clue) Is maintained by The Linux Foundation Is a private company acquired by Microsoft in 2018 57) Sites that offer services similar to GitHub include (select all that apply): Launchpad GitLab The OpenStack Foundation GitKraken 58) When using a GitHub public repository: Anyone on the Internet can download the data, but only authorized collaborators can upload information and modifications Anyone on the internet can download the data as well as upload information and make modifications 59) To use Git, you: Must be using Linux Be on any operating system and version that has Git installed, and almost all do 60) To use GitHub and the other sites that provide repository hosting: You must work from a command line You can work from either a graphical interface or a command line You must work from a graphical interface 61) What is usually the default shell for Linux? C Shell Korn Shell bash (Bourne Again SHell) Thompson Shell 62) How was The Linux Foundation formed? |