เมื่อไม่นานมานี้ มีการตัดสินใจที่จะทำให้เครื่องมือวิเคราะห์โค้ดแบบคงที่ PVS-Studio ฟรีสำหรับนักพัฒนาบางประเภท: นักเรียนนักศึกษาเพื่อการศึกษา นักพัฒนารายบุคคล และทีมผู้สนใจ จำนวนผู้ใช้ฟรีเพิ่มขึ้นทีละน้อย แต่เราตัดสินใจเตือนเกี่ยวกับความเป็นไปได้นี้ เนื่องจากนักพัฒนาซอฟต์แวร์บางรายอาจพลาดข่าวนี้

ทั้งหมดนี้เริ่มต้นด้วยบทความ: วิธีใช้ PVS-Studio ฟรี

ปฏิกิริยาแรกของผู้ใช้ค่อนข้างขัดแย้ง ในแง่หนึ่ง นักพัฒนาแต่ละรายยินดีใช้เครื่องมือนี้ฟรี แต่ในทางกลับกัน เราต้องเผชิญกับความไม่พอใจเกี่ยวกับความคิดเห็นที่จำเป็นในโค้ด ในตอนแรกไม่มีความลับว่าความคิดเห็นที่เสนอจะไม่เหมาะกับทุกคน และนั่นคือประเด็นของเรื่องทั้งหมด ดังที่เราได้กล่าวไปแล้วในโพสต์ข่าวก่อนหน้านี้ หากไม่มีรูปแบบการใช้งานฟรีที่เหมาะสม เราขอแนะนำให้หารือเกี่ยวกับแนวคิดของ "การซื้อใบอนุญาต"

ตอนนี้เราตัดสินใจที่จะติดตามดูว่า PVS-Studio เวอร์ชันฟรีของคุณจะถูกเผยแพร่ไปยังชุมชน GitHub อย่างไร ในการดำเนินการนี้ เราได้ติดต่อกับนักพัฒนา GitHub ที่ใช้ตัววิเคราะห์เวอร์ชันฟรีของเราอยู่แล้ว บางที หลังจากอ่านบทวิจารณ์บางส่วนแล้ว นักพัฒนาบางคนอาจต้องการเริ่มใช้ตัววิเคราะห์ในการพัฒนาโครงการของตน

อย่างที่คุณเห็นในภาพหน้าจอ ยังมีคนไม่มากนักที่ใช้ PVS-Studio แต่จำนวนยังคงเพิ่มขึ้นเรื่อยๆ มาดูรีวิวของผู้ใช้เหล่านี้กันดีกว่า

สิ่งที่ผู้คนพูดเกี่ยวกับเรา

ด้านล่างนี้คุณจะพบบทวิจารณ์บางส่วนจากนักพัฒนา GitHub ที่ใช้ PVS-Studio เวอร์ชันฟรี

Evgeniy Lepikhin (โครงการ TrafficProcessor):

ฉันไม่ได้เขียนด้วยภาษา C++ มากนัก และฉันก็ใช้โปรแกรมวิเคราะห์โค้ดแบบคงที่แม้แต่น้อย (มี Linux ที่ทำงานไม่มากนัก) เมื่อเปรียบเทียบกับ Lint เครื่องวิเคราะห์ของคุณได้รับการติดตั้งอย่างง่ายดายและผสานรวมใน IDE ได้อย่างง่ายดาย ฉันไม่สามารถพูดอะไรได้มากนักเกี่ยวกับคุณภาพของตัววิเคราะห์ ฉันไม่มีประสบการณ์มากนักในเรื่องนั้น แต่มันใช้งานได้ ไม่ผิดพลาด และเพียงพอแล้ว

Alexey Schadin (โครงการ NppKate):

โดยทั่วไปแล้ว ฉันพอใจกับงานของเครื่องวิเคราะห์ ต้องขอบคุณทีมงาน PVS-Studio สำหรับงานของพวกเขา น่าเสียดายที่โครงการของฉันมีขนาดเล็กมาก ก่อนหน้านั้นการวิเคราะห์การซื้อมือสองที่ทำโดย MS Visual Studio 2015 นั่นเป็นสาเหตุที่รายการสถานที่ที่อาจมีปัญหามีขนาดเล็กมาก (น้อยกว่า 10 รายการ) ฉันยังชอบอินเทอร์เฟซที่ดูคำอธิบายของคำเตือนด้วย ซึ่งชัดเจนว่าจะแก้ไขข้อผิดพลาดอย่างไร ขอบคุณที่ทำให้ผลิตภัณฑ์ Open Source ดีขึ้น! ฉันจะใช้เครื่องมือนี้และโครงการโอเพ่นซอร์สอื่นๆ หากนโยบายของบริษัทไม่เปลี่ยนแปลง

เราควรออก Alex และนักพัฒนาอื่นๆ ว่าบริษัทของเราจะไม่เปลี่ยนแปลงนโยบายนั้นในอนาคตอันใกล้นี้ — เวอร์ชันฟรีเป็นโครงการระยะยาว

Sergey Zhejgurov (โครงการ ToolsGenGkode):

ฉันพอใจมากกับโปรแกรมของคุณ โดยเฉพาะอย่างยิ่งความสามารถในการใช้งานโดยไม่จำเป็นต้องซื้อ เนื่องจากการเขียนโปรแกรมใน C# เป็นเพียงงานอดิเรกของฉัน และการซื้อใบอนุญาตอาจไม่สะดวกสำหรับฉัน อย่างไรก็ตาม การค้นหาข้อบกพร่องมีประโยชน์มากเนื่องจากฉันไม่มีประสบการณ์ C# ฉันดีใจมากที่บริษัทของคุณทำให้สามารถใช้โปรแกรมนี้ได้ฟรี :-)

Alibek Omarov (โครงการ cs16-client):

ฉันติดตามข่าวของ PVS-Studio มานานแล้ว และมีส่วนร่วมในการทดสอบเบต้าของเครื่องวิเคราะห์สำหรับ Linux ฉัน "สับเป็นชิ้นเล็กชิ้นน้อย" เครื่องมือนี้ทำงานโดยมองหาการพิมพ์ผิดบริบทและทำงานได้ดีมาก ใบอนุญาตแบบฟรีมีประโยชน์กับฉันมากเพราะฉันเป็นนักพัฒนารายบุคคลและยิ่งกว่านั้นคือนักพัฒนามือสมัครเล่น

Alexey Lesovskij (โครงการ pgcenter):

ใช่ ฉันใช้ PVS-Studio ในโปรเจ็กต์ของฉันเพราะฉันไม่ใช่นักพัฒนามืออาชีพ แต่เป็นผู้ดูแลระบบมากกว่า นั่นคือสาเหตุที่ฉันมักจะทำข้อผิดพลาดที่ไม่ชัดเจนมากมาย เมื่อเขียนโปรแกรม PVS-Studio ชี้ไปที่จุดบกพร่อง และฉันพยายามแก้ไขโดยใช้คำแนะนำที่ให้ไว้บนเว็บไซต์ ในความคิดของฉัน PVS-Studio เป็นเครื่องมือที่มีประโยชน์มากที่ช่วยให้แก้ไขจุดบกพร่องในโค้ดและช่วยนักพัฒนาในการพัฒนาทักษะการเขียนโค้ด ใช้ PVS-Studio ได้ง่ายมาก การตั้งค่า ความเข้าใจในการวิเคราะห์คำเตือนนั้นไม่ยากเลย

แม้ว่าการอ้างอิงเฉพาะผลตอบรับเชิงบวกในบทความนี้จะไม่ยุติธรรมก็ตาม เรารับคำวิพากษ์วิจารณ์อย่างสร้างสรรค์ตามปกติ และนั่นคือเหตุผลที่เราอยากจะแบ่งปันบทวิจารณ์อีกครั้งหนึ่ง

Grigoriev Vitaliy — ผู้เชี่ยวชาญด้านความปลอดภัยของแอปพลิเคชันเครือข่าย พูดว่า:

ฉันใช้เครื่องมือของคุณในการทำงานมาหลายปีแล้ว และเขียนถึงคุณหลายครั้งเกี่ยวกับข้อบกพร่องและข้อบกพร่องที่ฉันพบในเครื่องมือนั้น

สำหรับฉันแล้วดูเหมือนว่าคุณได้เลือกวิธีที่ไม่ถูกต้องในการจัดหาเครื่องมือให้กับผู้ใช้

แนวทางของคุณมีข้อเสียหลายประการ ประการแรกคือทุกอย่างขึ้นอยู่กับความซื่อสัตย์ของนักพัฒนาและข้อตกลงใบอนุญาต มันเป็นไปไม่ได้ในเงื่อนไขของรัสเซีย

อีกอย่างหนึ่ง — คุณไม่สามารถตรวจสอบได้ว่าโปรเจ็กต์นั้นเป็นโอเพ่นซอร์สหรือไม่

อีกประเด็นหนึ่ง — คุณจะโปรโมตเครื่องมือของคุณในหมู่โปรแกรมเมอร์ได้อย่างไร หากคุณต้องการดึงดูดโปรแกรมเมอร์ชาวต่างชาติ แต่มี “โฆษณา” ซ่อนอยู่ในโค้ด คุณต้องโปรโมตเครื่องวิเคราะห์ของคุณในโครงการขนาดใหญ่บน GitHub แต่แม้แต่โปรแกรมขนาดใหญ่ที่ฟรีจริงๆ ก็ไม่ยอมเพิ่มความคิดเห็นใดๆ ลงในไฟล์

ฉันขอแนะนำให้ดูวิธีที่ Soverity Scan ทำโฆษณา — พวกเขามีเว็บไซต์สำหรับใช้เครื่องมือนี้ฟรีและบูรณาการอย่างสมบูรณ์กับพื้นที่เก็บข้อมูลต่างๆ … การบูรณาการกับ Travis-CI และอื่นๆ นอกจากนี้ยังเป็นโฆษณาที่เป็นแท็ก README ที่ทุกคนเห็นอีกด้วย วิธีการดังกล่าวไม่รวมข้อเสียทั้งหมดที่ระบุไว้ข้างต้น นั่นเป็นสาเหตุที่ใช้ Coverity ในทุกโปรเจ็กต์บน Git นอกจากนี้ ฉันคิดว่าคุณได้พิจารณาตัวแปรดังกล่าวแล้ว แต่ด้วยเหตุผลบางอย่างไม่ได้ตัดสินใจทำเช่นนี้ อาจเป็นเพราะการกระทำของคุณเกิดขึ้นชั่วคราวหรือเนื่องจากค่าใช้จ่ายในการพัฒนาเว็บไซต์ใหม่

ข้อเสียอีกประการหนึ่งคือคุณเขียนคู่มือการตั้งค่าที่ยาวมาก แต่ไม่สมบูรณ์มากนัก (เช่น การรวมเข้ากับระบบบิลด์ Cmake ใน Linux เป็นต้น) คู่มือเหล่านี้มีกรณีผู้ใช้และส่วนประกอบที่ใช้งานได้จริงน้อยมาก จำนวนของโปรเจ็กต์ต่างๆ นั้นมีจำนวนมากมากและพวกมันก็ถูกสร้างขึ้นแตกต่างกัน แต่มีตัวอย่างให้ไว้สำหรับหนึ่งหรือสองกรณีที่ง่ายที่สุด…

หากคุณสร้างส่วนขยายสำหรับ CLion แต่ไม่ได้ใช้วิธีอื่น — นั่นจะมีประโยชน์มาก บริษัทเกือบทั้งหมดที่พัฒนาโปรแกรมสำหรับ Linux ได้เปลี่ยนมาใช้ CLion และจำนวนคนที่ยังคงใช้ "Vim และแอนะล็อก" ก็ลดลง โดยทั่วไป ฉันขอแนะนำให้ดูผลิตภัณฑ์ของ JetBrains เพื่อให้ตรงกับ TeamCity และ YouTrack เครื่องมือเหล่านี้ถูกใช้โดยบริษัทขนาดใหญ่และขนาดกลางเกือบทั้งหมด และการบูรณาการ PVS-Studio จะมีโมเดลธุรกิจที่ถูกต้องมาก

ขอขอบคุณ Vitaliy สำหรับการตรวจสอบโดยละเอียด แต่ก็ยังมีบางช่วงเวลาที่เราต้องแสดงความคิดเห็น

  • PVS-Studio เวอร์ชันฟรีไม่ใช่การดำเนินการชั่วคราว แต่เป็นการดำเนินการอย่างถาวร เราดีใจที่สามารถช่วยนักพัฒนาที่มีความกระตือรือร้นให้ใช้ผลิตภัณฑ์เชิงพาณิชย์ได้ฟรี
  • ใช่ Coverity เป็นตัวอย่างสำหรับเรา และเราพยายามที่จะปฏิบัติตาม: บริษัทนี้มีอำนาจสำหรับเราจริงๆ อย่างไรก็ตาม เราตัดสินใจที่จะใช้วิธีอื่นเกี่ยวกับใบอนุญาตฟรี ประเด็นก็คือ เราต้องการสร้างใบอนุญาตฟรีไม่เพียงแต่สำหรับโครงการโอเพ่นซอร์สเท่านั้น และยังมีข้อได้เปรียบสำหรับนักพัฒนาอีกด้วย ใช่ เราไม่สามารถตรวจสอบความซื่อสัตย์ของนักพัฒนาได้ แต่บริษัทเหล่านั้นที่เคารพตนเอง จะไม่ใช้วิธีการโกง และบริษัทเหล่านั้นที่ทำเช่นนั้นก็ไม่ใช่ลูกค้าของเราอยู่ดี
  • พูดถึงซีลอน.. PVS-Studio สำหรับ Linux ปรากฏขึ้นเมื่อไม่นานมานี้ และเราได้ดำเนินการรวมตัววิเคราะห์ผ่านไฟล์โปรเจ็กต์ CMake (นี่คือลักษณะที่ปรากฏและได้รับการกำหนดค่า http://www.viva64.com/en/m/0036/ ) ขณะนี้เรากำลังพิจารณาความสามารถในการเผยแพร่ส่วนขยายสำหรับ IDE

บทสรุป

เราอยากจะขอบคุณนักพัฒนาทุกคนที่ให้ข้อเสนอแนะกับเรา เรายินดีเป็นอย่างยิ่งที่ได้พูดคุยกับพวกเขาและได้รับความคิดเห็นเชิงบวก

โดยทั่วไปแล้ว เราค่อนข้างพอใจกับความคิดเห็นที่เราได้รับ แม้ว่าจะมีปฏิกิริยาเชิงลบในช่วงแรก แต่ขณะนี้นักพัฒนากำลังใช้ประโยชน์จากการใช้ PVS-Studio เวอร์ชันฟรี เราคิดว่านี่คือจุดเริ่มต้นของมิตรภาพของเรากับชุมชน GitHub คุณยินดีที่จะเข้าร่วม เราขอแนะนำให้ดาวน์โหลดและลองใช้ PVS-Studio ฟรีสำหรับโปรเจ็กต์ของคุณ มาเป็นเพื่อนกัน!

หากคุณมีคำถามใดๆ เกี่ยวกับการผสานรวมการตั้งค่านี้และการใช้ PVS-Studio คุณสามารถ "ติดต่อเรา" ได้ตลอดเวลา เราพยายามช่วยนักพัฒนาต่อสู้กับข้อบกพร่องอยู่เสมอ